ie9 getAttribute方法工作
IE 9 getAttribute method working
我正在使用setAttribute方法设置一个名为titleDiv的自定义属性
HTML代码:<div id="Object" titleDiv="blank"></div>
Javascript代码:
var Object=document.getElementById('Object');
Object.setAttribute("titleDiv","myDiv");
在除ie9以外的所有浏览器中都可以正常工作。getAttribute也会发生同样的事情。
我在我的代码中大量使用了像上面这样的自定义属性,我不应该改变结构。是否有其他方法来编写上面的代码,使IE将理解它?
谢谢。
基于问题编辑的更新答案
你正在使用一个标识符,你真的应该远离:Object
。我建议同时更改id
和所使用的变量的名称。所以:
<div id="theObject" titleDiv="blank"></div>
和
var theObject=document.getElementById('theObject');
theObject.setAttribute("titleDiv","myDiv");
Object
是JavaScript中的内置函数。由于元素的id
被转储到全局命名空间中,我将避免使用任何内置JavaScript函数(Object
, Function
, Date
等)作为id
值。出于类似的原因,不仅仅是为了避免混淆自己和他人,我将避免使用它们作为变量名。
也就是说,我无法复制这个问题(源代码),所以尽管我仍然会更改id
和变量名,但这可能不是问题所在。
原始回答:
在DOM元素实例上调用setAttribute
。你不能通过内置的Object
函数来做。
如果你使用一个DOM元素,它工作(即使在IE9):
(function() {
// Get an actual DOM element
var target = document.getElementById("target");
// Set the attribute
target.setAttribute("titleDiv","myDiv");
// Show the result
display("Result: " + target.getAttribute("titleDiv"));
function display(msg) {
var p = document.createElement('p');
p.innerHTML = String(msg);
document.body.appendChild(p);
}
})();
实例| source
如果您使用F12开发人员工具并转到HTML选项卡,您可以看到div
确实获得了该属性。(一定要使用开发工具,而不是 "view source"——"view source"将显示从服务器发送的HTML,而不是DOM的当前状态。)
旁注:使用不使用data-
前缀的非标准属性是一个坏主意。你最好把这条信息传递给发号施令的人。但这几乎肯定不是你遇到的问题。
- Javascript form.submit()方法是如何工作的
- JavaScript中的这个call()-方法是如何工作的
- Jquery ajax方法请求体为null,但poster工作正常
- 我该如何阻止单击方法多次工作
- jQuery方法未按预期工作-toggleClass
- 如何让应用程序帮助程序方法在发送的请求为 JS 格式时工作
- jQuery on() 方法只能通过 childSelector 间接工作
- .html() 方法的 jQuery 在 IE 9 中无法正常工作
- 让 jquery 为 ajax 添加的元素工作的最佳方法是什么?
- 如何制作Javascript's减少对数组数组的方法工作
- invoke方法在Lodash中是如何工作的
- Jquery Ajax POST方法不工作,返回未定义的值
- sort和reverse方法在JavaScript中无法正常工作
- jsPDF addHTML方法不工作,没有错误消息
- 这个get方法似乎可以工作,但控制台中存在错误
- 无法调用方法“”;getEditResponseUrl"当使用表单ID打开表单时,绑定到工作表的Google
- Jquery Post方法在本地工作,但在服务器上不工作
- Angular onEnter ui.router方法无法正常工作
- 工作方法:document.getElementById(“ElementName”).style="显示:阻
- 汤博乐:如何用后标记控制CSS(更新:没有JQuery的工作方法!)