-
this.id
(如您所知)
-
this.value
(在大多数输入类型上,我只知道当一个没有在其元素上设置属性或在Safari中没有设置无线电输入时,IE。<select>
value
<option>
-
this.className
获取或设置整个“类”属性
-
this.selectedIndex
against a 以获取所选索引<select>
-
this.options
against a 以获取元素列表<select>
<option>
-
this.text
反对 获取其文本内容<option>
-
this.rows
against a 以获取元素的集合<table>
<tr>
-
this.cells
反对 a 以获得其细胞 (td & th)<tr>
-
this.parentNode
获得直接父母
-
this.checked
获取“感谢”@Tim“的已检查状态checkbox
-
this.selected
获取“谢@Tim Down”的选定状态option
-
this.disabled
获取“感谢”的禁用状态@Tim“向下”input
-
this.readOnly
获取“谢谢”的只读状态,@Tim向下input
-
this.href
针对元素以获取其<a>
href
-
this.hostname
针对一个元素来获取其域<a>
href
-
this.pathname
针对元素以获取其路径<a>
href
-
this.search
针对一个元素来获取其查询字符串<a>
href
-
this.src
针对一个元素,其中src
...我想你明白了。
有时性能至关重要。就像如果你在循环中多次执行某些事情一样,你可能想放弃jQuery。
通常,您可以替换:
$(el).attr('someName');
跟:
上面措辞不当。 不是替换,但它确实检索了从服务器发送的属性的值,并且其相应的属性将设置它。在某些情况下是必要的。getAttribute
setAttribute
下面的句子有点涵盖了它。请参阅此答案以获得更好的治疗方法。
el.getAttribute('someName');
...以便直接访问属性。请注意,属性与属性不同(尽管它们有时相互镜像)。当然也有。setAttribute
假设您遇到过一个情况,即收到一个页面,您需要解开特定类型的所有标签的包装。使用jQuery它简短而简单:
$('span').unwrap(); // unwrap all span elements
但是如果有很多,你可能想做一些原生的DOM API:
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] );
}
这段代码非常短,它比jQuery版本表现得更好,并且可以很容易地在你的个人库中成为一个可重用的函数。
看起来我与外部有一个无限循环,因为,但是因为我们正在处理一个“实时列表”,所以当我们执行.这是一个非常漂亮的功能,我们在使用数组(或类似数组的对象)时会错过它。while
while(spans[0])
parent.removeChild(span[0]);