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 value
properti yang ditetapkan pada <option>
elemen - elemennya, atau input radio di Safari.)
this.className
untuk mendapatkan atau mengatur seluruh properti "kelas"
this.selectedIndex
terhadap a <select>
untuk mendapatkan indeks yang dipilih
this.options
terhadap a <select>
untuk mendapatkan daftar <option>
elemen
this.text
menentang <option>
untuk mendapatkan konten teksnya
this.rows
melawan a <table>
untuk mendapatkan koleksi <tr>
elemen
this.cells
terhadap a <tr>
untuk mendapatkan selnya (td & th)
this.parentNode
untuk mendapatkan orang tua langsung
this.checked
untuk mendapatkan status cek dari checkbox
Terimakasih @Tim Bawah
this.selected
untuk mendapatkan status terpilih dari option
Terimakasih @Tim Bawah
this.disabled
untuk mendapatkan status nonaktif dari input
Terimakasih @Tim
this.readOnly
untuk mendapatkan status readOnly dari input
Thanks @Tim Down
this.href
terhadap <a>
elemen untuk mendapatkan nyahref
this.hostname
terhadap suatu <a>
elemen untuk mendapatkan domain-nyahref
this.pathname
terhadap <a>
elemen untuk mendapatkan path-nyahref
this.search
terhadap <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. getAttribute
bukan 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 while
karena 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
?