在jQuery 1.6.1中进行了更改之后,我一直在尝试在HTML中定义属性和属性之间的区别.
查看jQuery 1.6.1发行说明(靠近底部)的列表,似乎可以按如下方式对HTML属性和属性进行分类:
属性:所有具有布尔值或UA计算的值,例如selectedIndex.
属性:可以添加到既不是布尔值也不包含UA生成值的HTML元素的"属性".
思考?
有没有开发使用setAttribute而不是dot(.)属性表示法的最佳实践?
例如:
myObj.setAttribute("className", "nameOfClass");
myObj.setAttribute("id", "someID");
Run Code Online (Sandbox Code Playgroud)
要么
myObj.className = "nameOfClass";
myObj.id = "someID";
Run Code Online (Sandbox Code Playgroud) 我svg在javascript中创建了一个元素,我需要设置一个区分大小写的属性:viewBox.
该元素的创建方式如下: var svgElem = document.createElement('svg');
问题是当它通过svgElem.setAttribute("viewBox", "0,0,100,100")DOM 设置该属性并附加到DOM时,结果元素显示如下:
<svg viewbox="0,0,100,100"></svg>
这不起作用,因为viewBox它区分大小写,如果字母B是小写的,它将不会产生任何影响.
IE只允许这样的情况使用IFlag参数,但是我的目标受众仅限于FireFox和Chrome用户,我没有找到IFlag setAttribute.
有没有一种方法可以在不使用innerHTML和无库javascript的情况下完成这项工作?
编辑:我也尝试使用点符号没有成功 svg.viewBox = "0,0,100,100"
其中一个比另一个更优选吗?为什么?性能如何 - 如果这些被召唤数千次?
A) element.setAttribute("disabled", true);
B) element.disabled = true;
Run Code Online (Sandbox Code Playgroud)
它们似乎都禁用了FF 4中的输入[text]元素.