Javascript 为什么此复选框缺少“0”;勾选“;财产?
在我正在编写的组件中,我想检查元素的“checked”属性。不幸的是,元素似乎不包含“checked”属性,至少不是我设置的方式 以下是JS代码片段:Javascript 为什么此复选框缺少“0”;勾选“;财产?,javascript,dom,properties,Javascript,Dom,Properties,在我正在编写的组件中,我想检查元素的“checked”属性。不幸的是,元素似乎不包含“checked”属性,至少不是我设置的方式 以下是JS代码片段: var submenus = document.querySelectorAll( ".hbm-panel-item-label" ); for ( var label of submenus ) { // console.log( "label.for = " + label.getAttribute( "for" ) ); lab
var submenus = document.querySelectorAll( ".hbm-panel-item-label" );
for ( var label of submenus ) {
// console.log( "label.for = " + label.getAttribute( "for" ) );
label.addEventListener( "click", function() {
var label_for = this.getAttribute( "for" );
// console.log( label_for + " was clicked." );
var checkboxes = document.querySelectorAll( ".hbm-panel-item-checkbox" );
for ( var cb of checkboxes ) {
console.debug( cb );
if ( cb.getAttribute( "name" ) === label_for ) {
console.log( label_for + " has attribute 'checked': " + cb.hasAttribute( "checked" ) );
console.log( label_for + " is " + cb.getAttribute( "checked" ) );
}
}
});
}
…结果如下:
当我打开该元素的属性时,我确实看到一个值为“false”的选中属性:
提前道歉,我是JS新手。我觉得这很简单。我还感到,如果使用jQuery,这将需要大约三行代码。属性在DOM中,属性在解析到DOM中的HTML中。 复选框的HTML没有“checked”属性,但复选框有“checked”属性。 你可能只需要检查一下
cb.checked
而不是寻找属性。也许checkbox.checked对你有用:你在标题中说了。这是一个“属性”,而不是一个“属性”,这就是它。工作太辛苦了。谢谢