有人可以在jQuery中解释这个(奇怪的)行为吗?这是小提琴:
问题是,为什么jQuery在调用rel
方法时不会将tooltip
设置为.prop()
,而.attr()
工作正常?
此外,这两种方法在设置type
时都有效。
我唯一的猜测是.prop()
执行了一些验证?由于rel
button
答案 0 :(得分:1)
在 jQuery 1.6 attr()
用于HTML属性和对象属性之前。
jQuery 1.6 attr()
用于HTML属性仅,例如href
或rel
,class
或任何其他。
prop()
现在用于
var Obj = {
propOne: 'somevalue'
}
或
selectedIndex, tagName, nodeName, nodeType, ...
来自docs:
... .prop() 方法提供了一种显式检索属性值的方法 .attr()检索属性。
使用prop()
的关键词是:
属性没有相应的(HTML)属性,只是属性。
文档中的示例:
elem.checked
// true (Boolean) Will change with checkbox state
$(elem).prop( 'checked')
// true (Boolean) Will change with checkbox state
elem.getAttribute('checked')
// "checked" (String) Initial state of the checkbox;
// does not change
$(elem).attr('checked') (1.6)
// "checked" (String) Initial state of the checkbox;
// does not change
$(elem).attr('checked') (1.6.1+)
// "checked" (String) Will change with checkbox state
$(elem).attr('checked') (pre-1.6)
// true (Boolean) Changed with checkbox state