addID di jQuery?

87

Apakah ada metode yang tersedia untuk menambahkan ID seperti yang ada untuk menambahkan kelas - addClass ()?

eozzy
sumber
addClass () bukan selektor. Selektor adalah sesuatu yang didefinisikan sebagai elemen sebelum melakukan sesuatu dengan / padanya. addClass () adalah metode, sesuatu yang memiliki tindakan terhadap sesuatu.
Phish
1
dapatkah Anda mengganti kata 'selector' untuk 'functionnality' dalam pertanyaan Anda?
Milche Patern
Kemungkinan duplikat dari Menambahkan atribut di jQuery
Makyen

Jawaban:

184

ID adalah atribut, Anda dapat mengaturnya dengan fungsi attr :

$(element).attr('id', 'newID');

Saya tidak yakin apa yang Anda maksud tentang menambahkan ID karena sebuah elemen hanya dapat memiliki satu pengenal dan pengenal ini harus unik.

Christian C. Salvadó
sumber
1
Saya tidak yakin bagaimana ini menjawab pertanyaan itu. Ini tidak menambahkan id, ini menetapkan satu, yang bisa menjadi perbedaan besar jika Anda menggunakan ID dinamis
Ian S
Interpretasi saya tentang pertanyaan: melihat <div>tidak ada ID, dan jika karena alasan apa pun Anda tidak dapat menambahkan id dengan tangan, Anda mungkin ingin menambahkan ID secara otomatis dengan Javascript / jQuery.
PJ Brunet
13

maksudmu metode?

$('div.foo').attr('id', 'foo123');

Berhati-hatilah agar Anda tidak menyetel beberapa elemen ke ID yang sama.

scunliffe.dll
sumber
9

Seperti ini :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. dapatkan ID sebenarnya
  2. letakkan actuel ID dan tambahkan yang baru
Sylvain
sumber
Saya tidak yakin ini yang diinginkan OP ... tetapi yang lebih penting hanya boleh ada 1 idnilai atribut. Lebih khusus spesifikasi untuk idatribut jelas menunjukkan bahwa hal itu mungkin tidak mengandung spasi: w3.org/TR/html401/types.html#type-name
scunliffe
1

Saya telah menggunakan sesuatu seperti ini sebelumnya yang membahas masalah @scunliffes. Ia menemukan semua instance item dengan kelas (dalam hal ini .button), dan menetapkan ID dan menambahkan indeksnya ke nama id:

$(".button").attr('id', function (index) {
	return "button-" + index;
});

Jadi katakanlah Anda memiliki 3 item dengan nama kelas .button pada halaman. Hasilnya akan menambahkan ID unik untuk semuanya (selain kelas "tombol").

Dalam hal ini, # button-0, # button-1, # button-2, berturut-turut. Ini bisa sangat berguna. Cukup ganti ".button" di baris pertama dengan kelas apa pun yang ingin Anda targetkan, dan ganti "button" di pernyataan return dengan ID unik apa pun yang Anda inginkan. Semoga ini membantu!

Danny Dickson
sumber