Cum pentru a obține date-id atribut?

Am'm folosind jQuery plugin nisipuri mișcătoare. Am nevoie pentru a obține date-id-ul apăsat elementul și trece-l la un serviciu web. Cum pot obține date-id atribut? Am'm folosind .pe() metoda de a re-lega faceți clic pe eveniment pentru articole sortate.

$("#list li").on('click', function() {
  //  ret = DetailsView.GetProject($(this).attr("#data-id"), OnComplete, OnTimeOut, OnError);
  alert($(this).attr("#data-id"));
});
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<ul id="list" class="grid">
  <li data-id="id-40" class="win">
    <a id="ctl00_cphBody_ListView1_ctrl0_SelectButton" class="project" href="#">
      <img src="themes/clean/images/win.jpg" class="project-image" alt="get data-id" />
    </a>
  </li>
</ul>
Comentarii la întrebare (4)
Soluția

Pentru a obține conținutul de atributul de date-id(ca înlink`) trebuie să utilizați

$(this).attr("data-id") // will return the string "123"

sau .date() (dacă utilizați mai noi jQuery >= 1.4.3)

$(this).data("id") // will return the number 123

și partea de după date trebuie să fie cu litere mici, de exemplu, date idNumnu va funcționa, dar datelor-idnum va.

Comentarii (15)

Dacă vrem pentru a recupera sau actualiza aceste atribute folosind existente, nativ JavaScript, atunci putem face acest lucru folosind getAttribute și setAttribute metodele de mai jos:

Prin JavaScript

<div id='strawberry-plant' data-fruit='12'></div>

<script>
// 'Getting' data-attributes using getAttribute
var plant = document.getElementById('strawberry-plant');
var fruitCount = plant.getAttribute('data-fruit'); // fruitCount = '12'

// 'Setting' data-attributes using setAttribute
plant.setAttribute('data-fruit','7'); // Pesky birds
</script>

Prin jQuery

// Fetching data
var fruitCount = $(this).data('fruit');
OR 
// If you updated the value, you will need to use below code to fetch new value 
// otherwise above gives the old value which is intially set.
// And also above does not work in ***Firefox***, so use below code to fetch value
var fruitCount = $(this).attr('data-fruit');

// Assigning data
$(this).attr('data-fruit','7');

Citește această documentație

Comentarii (0)

Notă importantă. Păstrați în minte, că dacă reglați date atributul dinamic, prin intermediul JavaScript NU vor fi reflectate în date()funcția jQuery. Trebuie să se adapteze prindate()` a funcționa cât mai bine.

<a data-id="123">link</a>

js:

$(this).data("id") // returns 123
$(this).attr("data-id", "321"); //change the attribute
$(this).data("id") // STILL returns 123!!!
$(this).data("id", "321")
$(this).data("id") // NOW we have 321
Comentarii (2)

Dacă nu sunteți preocupat de vechi IE browsere, puteți utiliza, de asemenea, HTML5 set de date API

HTML

<div id="my-div" data-info="some info here" data-other-info="more info here">My Awesome Div</div>

JS

var myDiv = document.querySelector('#my-div');

myDiv.dataset.info // "some info here"
myDiv.dataset.otherInfo // "more info here"

Demo: http://html5demos.com/dataset

Full suport pentru browser-ul lista: http://caniuse.com/#feat=dataset

Comentarii (1)

Sunt surprins că nimeni nu a menționat:


<select id="selectVehicle">
     Mazda
     Honda
     Mercedes
     Toyota
Comentarii (1)

HTML

<span id="spanTest" data-value="50">test</span>

JS

$(this).data().value;

sau

$("span#spanTest").data().value;

ANS : 50

Lucrează pentru mine!

Comentarii (0)
var id = $(this).dataset.id

lucrează pentru mine!

Comentarii (0)

Eu folosesc $.date - http://api.jquery.com/jquery.data/

//Set value 7 to data-id 
$.data(this, 'id', 7);

//Get value from data-id
alert( $(this).data("id") ); // => outputs 7
Comentarii (0)

Accesarea datelor atribut cu propria sa id este prea ușor pentru mine.

$("#Id").date de("atribut");

function myFunction(){
  alert($("#button1").data("sample-id"));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 Clickhere 
Comentarii (0)

Acest fragment de cod va returna valoarea de atribute de date exemplu: date de identitate, date-time, date, nume, etc.., am arătat pentru id-ul

<a href="#" id="click-demo" data-id="a1">Click</a>

js:

$(this).data("id");

// obține valoarea de date-id -> a1

$(this).data("id", "a2");

// acest lucru se va schimba de date-id -> a2

$(this).data("id");

// obține valoarea de date-id -> a2

Comentarii (0)

folosind jQuery:

  $( ".myClass" ).load(function() {
    var myId = $(this).data("id");
    $('.myClass').attr('id', myId);
  });
Comentarii (0)

Pentru cei care caută pentru a dinamic a elimina și re-activați tooltip, puteți utiliza dispune și "enable" metode. A se vedea https://getbootstrap.com/docs/4.0/components/tooltips/#tooltipdispose

Comentarii (0)