在网页上,我为用户提供了隐藏表格元素(包含复选框)的选项,如下所示:
mytable.style.display = 'none'; //the table and the enclosed textbox is hidden
我现在正在尝试查找所有未隐藏的表,如下所示:
var frm = document.forms[0];
var arrayDisposals;
var intCount;
var arrayDisposals = new Array();
for (i = 0; i < frm.elements.length; i++) {
if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substr(0, 3) == "Del") {
if ('none' != frm.elements[i].style.display) {
{
arrayDisposals.push(frm.elements[i].id + '|' + frm.elements[i].checked)
}
}
}
问题在于第二条IF语句不起作用,即所有元素都添加到了数组中。如何仅添加未隐藏的复选框?
最佳答案
如果您正在寻找jQuery解决方案,那么就足够了。使用.map()
var arrayDisposals = $('input[type="checkbox"][name*="Del"]:visible').map(function(){
return this.id+ "|" + this.checked
}).get();
使用属性选择器查找复选框,并在其中包含“ Del”的名称和
:visible
来检查其是否隐藏。DEMO
关于javascript - 循环浏览未隐藏的复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25163906/