Javascript点击功能在IE 8中不起作用

时间:2014-01-08 03:40:57

标签: javascript internet-explorer-8 client-side

我有一个适用于Chrome,Firefox和IE 11的javascript功能,但不适用于我的客户使用的IE 8。

function ToggleSelectAll(this_id) {

    var chk = document.getElementById(this_id).childNodes[0];
    var lblID = "lblSelectAll" + chk.id.slice(-1);
    var lbl = document.getElementById(lblID);
    var items = $(lbl).closest('div.segment_container')[0].childNodes;
    if (document.getElementById(chk.id).checked == false) {
        lbl.innerHTML = "Select All";

        for (i = 0; i < items.length; i++) {
            if (items[i].className == "checkbox") {
                var bx = $(items[i]).children()[0];
                bx.checked = false;
                var label = $(items[i]).children()[1];
                label.style.background = '#CCC';
            }
        }
    }
    else {
        lbl.innerHTML = "Clear All";

        for (i = 0; i < items.length; i++) {
            if (items[i].className == "checkbox") {
                var bx = $(items[i]).children()[0];
                bx.checked = true;
                var label = $(items[i]).children()[1];
                label.style.background = '#C1ECFA';
        }
        }
    }
};

该功能通过onclick运行。 chk是div中的一个复选框,选中后,选中/取消选择父容器中的所有复选框。我尝试用.children和.firstElementChild替换.childnodes,但它没有帮助。通过调试器,我可以看到chk,lblID和lbl的值在IE中与在Chrome中相同

修改

以下是jsfiddle及其相关的html:http://jsfiddle.net/zNEyb/1/

0 个答案:

没有答案