如果条件检查在dojo中,你会如何编码?
HTML属性比较
if(!dojo.query("#idOfHhtmlField").attr("disabled") == true)
{
//do something
}
在这里,我想如果#idOfHhtmlField
的disabled属性设置为true或没有比较,但它似乎没有为我工作。
如果条件检查在dojo中,你会如何编码?
HTML属性比较
if(!dojo.query("#idOfHhtmlField").attr("disabled") == true)
{
//do something
}
在这里,我想如果#idOfHhtmlField
的disabled属性设置为true或没有比较,但它似乎没有为我工作。
我在道场测试这个网站,here:
<button id="test0" disabled>button0</button>
<button id="test1" disabled="disabled">button1</button>
<button id="test2" disabled="false">button2</button>
<div id="test3" disabled>div0</div>
<div id="test4" disabled="disabled">div1</div>
<div id="test5" disabled="false">div2</div>
,因为你可以设置div的残疾人在IE8,所以它返回所有真。 但在铬中只有按钮返回true。 您应该检查#idOfHhtmlField是否为表单元素。
我建议你禁用检测这种方式,因为浏览器不需要它的价值:
if(dojo.hasAttr("id",'disabled')){
//alert(123)
}
我知之甚少道场,因为dojo.query()ATTR()返回。对象,它是被玷污的! 和here是官方指南。
是idOfHhtmlField
DOM元素(div,span,input等)?或者它是一个dijit小部件?
如果是DOM节点,您可能需要使用:
var field = dojo.byId('idOfHtmlField');
console.log(field.disabled);
如果您正在使用某种类型的dijit的小部件(无论是编程实例或声明通过的dojoType或数据道场型)你会想要使用:
var fieldWidget = dijit.byId('idOfHtmlField');
var isDisabled = fieldWidget.get('disabled');
console.log(isDisabled);
如果你想在JavaScript中测试这个值,而不引起类型强制,你需要使用'==='triple equals。 – rxgx