Bagaimana saya bisa mendapatkan ID dari elemen menggunakan jQuery?
<div id="test"></div>
<script>
$(document).ready(function() {
alert($('#test').id);
});
</script>
Mengapa doesn't di atas bekerja, dan bagaimana saya harus melakukan ini?
1315
19
JQuery cara:
Dalam contoh anda:
Atau melalui DOM:
atau bahkan :
dan alasan di balik penggunaan
$('#tes').get(0)
di JQuery atau bahkan$('#tes')[0]
adalah bahwa$('#tes')
adalah JQuery selector dan mengembalikan array() dari hasil tidak satu elemen dengan fungsi defaultalternatif untuk DOM selector di jquery
yang berbeda dari
.attr()
dan$('#tes').prop('foo')
meraih ditentukan DOMfoo
properti, sementara$('#tes').attr('foo')
meraih ditentukan HTMLfoo
atribut dan anda dapat menemukan rincian lebih lanjut tentang perbedaan di sini.$('pemilih').attr('id')
akan kembali id pertama dicocokkan elemen. Referensi.Jika anda cocok set berisi lebih dari satu elemen, anda dapat menggunakan konvensional
.masing-masing
iterator untuk mengembalikan array yang berisi masing-masing id:Atau, jika anda're bersedia untuk mendapatkan sedikit lebih bertekad, anda dapat menghindari wrapper dan gunakan
.peta
shortcut.id
adalah properti dari sebuah htmlElemen
. Namun, ketika anda menulis$("#sesuatu")
, itu kembali objek jQuery yang membungkus pencocokan elemen DOM(s). Untuk mendapatkan yang pertama pencocokan elemen DOM kembali, panggilanget(0)
Pada elemen asli, anda dapat menghubungi id, atau lainnya asli DOM properti atau fungsi.
Yang's alasan mengapa
id
isn't bekerja dalam kode anda.Atau, menggunakan jQuery's
y
metode sebagai jawaban yang lain menyarankan untuk mendapatkanid
atribut dari elemen pertama yang cocok.Atas jawaban yang bagus, tapi seperti jquery berkembang.. jadi anda juga dapat melakukan:
Beberapa pemeriksaan kode yang diperlukan tentu saja, tapi mudah dilaksanakan!
.id
adalah tidak sah fungsi jquery. Anda perlu menggunakan.attr()
fungsi untuk mengakses atribut suatu elemen yang memiliki. Anda dapat menggunakan.attr()
untuk mengubah nilai atribut dengan menentukan dua parameter, atau mendapatkan nilai dengan menentukan satu.http://api.jquery.com/attr/
Jika anda ingin mendapatkan ID dari sebuah elemen, let's mengatakan dengan class selector, ketika sebuah peristiwa (dalam hal ini klik event) yang dipecat pada elemen tertentu, maka berikut ini akan melakukan pekerjaan:
Nah, tampaknya belum ada solusi dan ingin mengusulkan saya sendiri solusi yang merupakan perluasan dari JQuery prototype's. Saya menempatkan ini dalam Pembantu file yang di-load setelah JQuery library, maka periksa
jendela.jQuery
Mungkin tidak sempurna, tetapi itu adalah awal yang baik untuk mungkin mendapatkan dimasukkan ke dalam library JQuery.
Mengembalikan salah satu nilai string atau Array dari nilai-nilai string. Array dari string nilai-nilai, adalah untuk acara multi-elemen selector digunakan.
$('#tes')
mengembalikan objek jQuery, sehingga anda dapat't gunakan hanyaobjek.id
untuk mendapatkanId
anda perlu menggunakan
$('#tes').attr('id')
, yang mengembalikan anda diperlukanID
dari elemenHal ini juga dapat dilakukan sebagai berikut ,
$('#tes').get(0).id
yang setara dengandokumen.getElementById('test').id
$('#tes').attr('id')
Dalam contoh anda:Mungkin berguna bagi orang lain yang menemukan thread ini. Kode di bawah ini hanya akan bekerja jika anda sudah menggunakan jQuery. Fungsi kembali selalu pengenal. Jika elemen doesn't memiliki identifier yang berfungsi menghasilkan identifier dan menambahkan ini ke elemen.
Bagaimana untuk menggunakan:
Menggunakan kode di atas, anda bisa mendapatkan id.
Ini adalah pertanyaan lama, tapi pada tahun 2015 ini dapat benar-benar bekerja:
Dan anda juga dapat membuat tugas-tugas:
Selama anda tentukan berikut ini plugin JQuery:
Menariknya, jika
elemen
adalah elemen DOM, maka:Ini bisa menjadi elemen id , class , atau secara otomatis menggunakan bahkan
Karena id adalah suatu atribut, anda bisa mendapatkannya dengan menggunakan
y
metode.itu tidak menjawab OP, tapi mungkin menarik untuk orang lain: anda dapat mengakses
.id
lapangan dalam hal ini:javascript $('#drop-insert').peta((i, o) => o.id)
Penting: jika anda membuat objek baru dengan jQuery dan mengikat suatu acara, anda *HARUS ** menggunakan prop dan y*, seperti ini:
$("<div/>",{ id: "yourId", kelas: "yourClass", html: "<span></span>" }).pada("klik", function(e) { alert($(this).prop("id")); }).appendTo("#sesuatu");
Ini akhirnya akan memecahkan masalah anda:
katakanlah anda memiliki banyak tombol pada halaman dan anda ingin mengubah salah satu dari mereka dengan jQuery Ajax (atau tidak ajax) tergantung pada ID mereka.
mari juga mengatakan bahwa anda memiliki banyak jenis yang berbeda dari tombol (untuk bentuk, untuk mendapatkan persetujuan dan untuk seperti tujuan), dan anda ingin jQuery untuk mengobati hanya "seperti" tombol.
berikut adalah kode yang bekerja: jQuery akan memperlakukan hanya tombol yang dari kelas .cls-hlpb, itu akan mengambil id dari tombol yang diklik dan akan berubah sesuai dengan data yang berasal dari ajax.