Saya menggunakan plugin quicksand jQuery. Saya perlu mendapatkan data-id dari item yang diklik dan meneruskannya ke layanan web. Bagaimana cara mendapatkan atribut data-id? Saya menggunakan .on()
metode untuk mengikat kembali acara klik untuk item yang diurutkan.
$("#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>
javascript
jquery
custom-data-attribute
Bruce Adams
sumber
sumber
on()
metode sepertilive()
sekarang sudah usang, dan pertanyaan ini mendapat beberapa pengunjung.Jawaban:
Untuk mendapatkan konten dari atribut
data-id
(seperti dalam<a data-id="123">link</a>
) yang harus Anda gunakanatau
.data()
(jika Anda menggunakan jQuery yang lebih baru> = 1.4.3)dan bagian sesudahnya
data-
harus huruf kecil, mis.data-idNum
tidak akan berfungsi, tetapidata-idnum
akan.sumber
attr()
karena jQuery melepaskan nol dari kode pos menggunakandata()
, TFM mengatakan "Pada jQuery 1.4.3 HTML-atribut data akan secara otomatis ditarik ke objek data jQuery. ... Setiap upaya dilakukan untuk mengubah string ke nilai JavaScript (ini termasuk boolean, angka, objek, array, dan null). Nilai hanya dikonversi ke angka jika hal itu tidak mengubah representasi nilai. Misalnya, "1E02" dan "100.000" adalah setara sebagai angka (nilai numerik 100) tetapi mengonversinya akan mengubah representasi mereka sehingga mereka dibiarkan sebagai string. "$(this).data().id //returns 123
Jika kita ingin mengambil atau memperbarui atribut ini menggunakan JavaScript asli yang ada , maka kita dapat melakukannya menggunakan metode getAttribute dan setAttribute seperti yang ditunjukkan di bawah ini:
Melalui JavaScript
Melalui jQuery
Baca dokumentasi ini
sumber
Catatan penting. Perlu diingat, bahwa jika Anda menyesuaikan
data-
atribut secara dinamis melalui JavaScript, itu TIDAK akan tercermin dalamdata()
fungsi jQuery. Anda harus menyesuaikannya melaluidata()
fungsi juga.js:
sumber
Jika Anda tidak khawatir tentang browser IE lama, Anda juga dapat menggunakan API dataset HTML5
HTML
JS
Demo: http://html5demos.com/dataset
Daftar dukungan browser lengkap: http://caniuse.com/#feat=dataset
sumber
Terkejut tidak ada yang menyebutkan:
Berikut ini contoh kerjanya: https://jsfiddle.net/ed5axgvk/1/
sumber
HTML
JS
atau
Bekerja untukku!
sumber
Saya menggunakan $. Data - http://api.jquery.com/jquery.data/
sumber
bekerja untukku!
sumber
Mengakses atribut data dengan caranya sendiri
id
agak mudah bagi saya.$("#Id").data("attribute");
sumber
Sepotong kode ini akan mengembalikan nilai atribut data misalnya: data-id, data-waktu, data-nama dll., Saya telah menunjukkan untuk id
js:
// dapatkan nilai data-id -> a1
// ini akan mengubah data-id -> a2
// dapatkan nilai data-id -> a2
sumber
menggunakan jQuery:
sumber
Bagi mereka yang ingin menghapus dan mengaktifkan kembali tooltip secara dinamis, Anda dapat menggunakan
dispose
danenable
metode. Lihat https://getbootstrap.com/docs/4.0/components/tooltips/#tooltipdisposesumber
Saya memiliki rentang. Saya ingin mengambil nilai atribut data-txt-lang, yang digunakan didefinisikan.
sumber
Masalahnya adalah Anda tidak menentukan opsi atau opsi dropdown atau daftar yang dipilih, Berikut adalah contoh untuk dropdown, saya mengasumsikan data atribut data-record.
sumber