this.id (seperti yang Anda ketahui)
this.value(pada sebagian besar tipe input. Hanya masalah yang saya tahu adalah IE ketika a <select>tidak memiliki valueproperti yang ditetapkan pada <option>elemen - elemennya, atau input radio di Safari.)
this.className untuk mendapatkan atau mengatur seluruh properti "kelas"
this.selectedIndexterhadap a <select>untuk mendapatkan indeks yang dipilih
this.optionsterhadap a <select>untuk mendapatkan daftar <option>elemen
this.textmenentang <option>untuk mendapatkan konten teksnya
this.rowsmelawan a <table>untuk mendapatkan koleksi <tr>elemen
this.cellsterhadap a <tr>untuk mendapatkan selnya (td & th)
this.parentNode untuk mendapatkan orang tua langsung
this.checkeduntuk mendapatkan status cek dari checkbox Terimakasih @Tim Bawah
this.selecteduntuk mendapatkan status terpilih dari option Terimakasih @Tim Bawah
this.disableduntuk mendapatkan status nonaktif dari input Terimakasih @Tim
this.readOnlyuntuk mendapatkan status readOnly dari input Thanks @Tim Down
this.hrefterhadap <a>elemen untuk mendapatkan nyahref
this.hostnameterhadap suatu <a>elemen untuk mendapatkan domain-nyahref
this.pathnameterhadap <a>elemen untuk mendapatkan path-nyahref
this.searchterhadap <a>elemen untuk mendapatkan querystring-nyahref
this.src terhadap elemen yang sah untuk memiliki a src
... Saya pikir Anda mendapatkan ide.
Akan ada saat-saat ketika kinerja sangat penting. Seperti jika Anda melakukan sesuatu berulang kali, Anda mungkin ingin membuang jQuery.
Secara umum Anda dapat mengganti:
$(el).attr('someName');
dengan:
Kata di atas buruk. getAttributebukan pengganti, tetapi mengambil nilai atribut yang dikirim dari server, dan yang sesuaisetAttribute akan mengaturnya. Diperlukan dalam beberapa kasus.
Kalimat di bawah ini semacam menutupinya. Lihat jawaban ini untuk perawatan yang lebih baik.
el.getAttribute('someName');
... untuk mengakses atribut secara langsung. Perhatikan bahwa atribut tidak sama dengan properti (meskipun terkadang saling mencerminkan satu sama lain). Tentu saja adasetAttribute juga.
Katakanlah Anda memiliki situasi ketika menerima halaman di mana Anda perlu membuka semua tag dari jenis tertentu. Ini singkat dan mudah dengan jQuery:
$('span').unwrap(); // unwrap all span elements
Tetapi jika ada banyak, Anda mungkin ingin melakukan sedikit API DOM asli:
var spans = document.getElementsByTagName('span');
while( spans[0] ) {
var parent = spans[0].parentNode;
while( spans[0].firstChild ) {
parent.insertBefore( spans[0].firstChild, spans[0]);
}
parent.removeChild( spans[0] );
}
Kode ini cukup singkat, performanya lebih baik daripada versi jQuery, dan dapat dengan mudah dijadikan fungsi yang dapat digunakan kembali di perpustakaan pribadi Anda.
Mungkin kelihatannya saya memiliki loop tak terhingga dengan terluar whilekarena while(spans[0]), tetapi karena kita sedang berhadapan dengan "daftar hidup" itu akan diperbarui ketika kita melakukan parent.removeChild(span[0]);. Ini adalah fitur yang sangat bagus yang kami lewatkan ketika bekerja dengan Array (atau objek seperti Array) sebagai gantinya.
this.id?