mootools 1.11如何確定div是否包含任何已選中的複選框?mootools 1.11 div包含已選中的複選框
嘗試各種使用$ $$ $ E $ ES的getElements和CSS選擇器,如果這個div不包含勾選框
var ticked = $(sId).getElements('[checked=checked]');
if($chk(ticked)){alert('yo');}else{unticked = true;}
mootools 1.11如何確定div是否包含任何已選中的複選框?mootools 1.11 div包含已選中的複選框
嘗試各種使用$ $$ $ E $ ES的getElements和CSS選擇器,如果這個div不包含勾選框
var ticked = $(sId).getElements('[checked=checked]');
if($chk(ticked)){alert('yo');}else{unticked = true;}
for 1.1
console.log($('id').getProperty('checked'));
「checked」是一個動態分配的DOM屬性(這是一個布爾值),並且訪問屬性只會返回頁面加載時的值(或者您在使用setAttribute時放置的值)。
此外,作爲MooTools的1.11沒有複雜的選擇(屬性不能直接在$$過濾)和filterByAttribute功能只接受直接字符串比較,這是你唯一的(和最好的!)選項:
$(sId).getElements('input').filter(function(input) {
return /radio|checkbox/.test(input.getAttribute('type')) && input.checked;
})
注意:爲了完整性,我添加了收音機,因此無論如何都必須運行過濾器循環來驗證已檢查的狀態。
如果要簡化程序,能夠重複使用的代碼(MooTools的方式),你也可以混合在檢查過濾器進入這樣的要件:
Element.extend({
getCheckedInputs: function() {
return this.getElements('input').filter(function(input) {
return /radio|checkbox/.test(input.getAttribute('type')) && input.checked;
});
}
});
,然後選擇通話被縮減爲:
$(sID).getCheckedInputs();
歡迎來到StackOverflow!偉大的第一個問題 – Sampson