javascript中的函数预期错误

时间:2014-07-30 12:10:44

标签: javascript

单击动态创建复选框时,我想获取属性值。它在IE 8,9,10中工作,但在IE 11中不起作用,chrome显示函数预期错误

<input type=checkbox checked='checked' id='SymptomFailureCodeId' TabIndex='54' style='cursor:pointer;' onclick=ChkClickEvt(this);  FailureCodeId="1" >


function ChkClickEvt(Obj) { 
    alert(Obj.attributes("FailureCodeId"));
}

2 个答案:

答案 0 :(得分:1)

请尝试使用getAttribute

Obj.getAttribute("FailureCodeId")

或者,如果您想使用attributes属性,请不要将其用作方法。它是NamedNodeMap

例如:

Obj.attributes["FailureCodeId"]

但请注意,Firefox&gt;不再支持此功能。 22和许多现代浏览器。请在MDN

了解详情

答案 1 :(得分:0)

更好的方法是使用HTML5 data-* attributes

标记

<input type='checkbox' id='SymptomFailureCodeId' data-FailureCodeId="1" />

的JavaScript

var article = document.querySelector('#SymptomFailureCodeId'),
          data = article.dataset;
console.log( data.FailureCodeId );

P.S:thisthis

会让你变得金色 P.P.S:我很确定像这样制作自定义属性并不是最好的做法。我正在寻找进一步的证据支持我的论点。 ;)