this.id (bildiğin gibi)
this.value(çoğu giriş türünde. öğelerinde ayarlanmış özelliklere veya Safari'de radyo girişlerine <select>sahip olmadığında yalnızca bildiğim sorunlar IE'dir.)value<option>
this.className "sınıf" özelliğinin tamamını almak veya ayarlamak için
this.selectedIndexa karşı <select>seçili dizini almak için
this.optionsBir karşı <select>bir listesini almak için <option>elemanlar
this.textkarşı bir <option>metin içeriği almak için
this.rowskarşı bir elemanlar <table>koleksiyonu almak için<tr>
this.cellskarşı <tr>hücrelerini almak için (td & th)
this.parentNode doğrudan ebeveyn olmak
this.checkedTeşekkür @Tim Down kontrol durumunu almak içincheckbox
this.selectedTeşekkür @Tim Down seçilen durumunu almak içinoption
this.disabledTeşekkürler @Tim Down devre dışı durumunu almak içininput
this.readOnlyTeşekkürler @Tim Down salt okunur durumunu almak içininput
this.href<a>almak için bir öğeye karşıhref
this.hostname<a>etki alanını elde etmek için bir öğeye karşıhref
this.pathname<a>yolunu almak için bir öğeye karşıhref
this.search<a>onun sorgu dizesini almak için bir öğeye karşıhref
this.src geçerli olduğu bir öğeye karşı src
... sanırım bu fikri anladınız.
Performansın çok önemli olduğu zamanlar olacaktır. Bir döngüde birçok kez bir şey yapıyorsanız, jQuery'den kurtulmak isteyebilirsiniz.
Genel olarak aşağıdakileri değiştirebilirsiniz:
$(el).attr('someName');
ile:
Yukarıda kötü ifade edildi. getAttributeyerine geçmez, ancak sunucudan gönderilen bir özniteliğin değerini alır ve karşılık gelen setAttributedeğeri ayarlar. Bazı durumlarda gerekli.
Aşağıdaki cümleler bir nevi örtbas etti. Daha iyi bir tedavi için bu cevaba bakınız .
el.getAttribute('someName');
... bir özelliğe doğrudan erişmek için. Niteliklerin özelliklerle aynı olmadığını unutmayın (bazen birbirlerini yansıtırlar). Tabii ki de var setAttribute.
Belirli bir türdeki tüm etiketlerin paketini açmanız gereken bir sayfa aldığınızda bir durumunuz olduğunu varsayalım. JQuery ile kısa ve kolaydır:
$('span').unwrap(); // unwrap all span elements
Ancak, çok fazla varsa, küçük bir yerel DOM API'si yapmak isteyebilirsiniz:
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] );
}
Bu kod oldukça kısadır, jQuery sürümünden daha iyi performans gösterir ve kişisel kütüphanenizde yeniden kullanılabilir bir işleve kolayca dönüştürülebilir.
whileÇünkü dış ile sonsuz bir döngü var gibi görünebilir while(spans[0]), ama bir "canlı liste" ile uğraştığımız için yaptığımızda güncellenir parent.removeChild(span[0]);. Bu, bir Array (veya Array benzeri nesne) ile çalışırken kaçırdığımız oldukça şık bir özelliktir.
this.idmi arıyorsunuz?