为什么此复选框缺少"checked“属性?
在我正在编写的组件中,我想检查元素的"checked“属性。不幸的是,该元素似乎没有包含"checked“属性,至少不是我设置的方式。
下面是JS代码片段:
代码语言:javascript复制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" ) );
}
}
});
}...and结果如下:
当我打开该元素的属性时,我确实看到一个值为“false”的checked属性:
提前道歉,我是JS新手。我感觉这是件简单的事情。我还感觉到,如果我使用jQuery,这将需要大约三行代码……