为什么javascript中的切换大小写不适用于Microsoft Edge上的字符串?

时间:2018-10-01 06:39:02

标签: javascript microsoft-edge

我已经实现了javascript开关盒。这种开关盒在Chrome和Firefox中可以正常使用,而在Edge中则不能。是什么原因呢?

编辑:标签var获取选中的复选框的标签元素。

请查看以下代码。

    function getSelectedProducts() {
    var labels = document.getElementsByClassName("nf-checked-label");
    var selectedProducts = [false, false, false, false, false];
    for (i = 0; i < labels.length; i++) {
        switch (labels[i].innerText) {
            case 'Risk':
                selectedProducts[0] = true;
                break;
            case 'Incident':
                selectedProducts[1] = true;
                break;
            case 'Audit':
                selectedProducts[2] = true;
                break;
            case 'Compliance':
                selectedProducts[3] = true;
                break;
            case 'Hazard':
                selectedProducts[4] = true;
                break;
            default:
                console.log("no case matched");
        }
    }
    return selectedProducts;
}

1 个答案:

答案 0 :(得分:1)

问题出在Chrome / Firefox和Edge中,innerText属性值不同。 Firefox / Chrome的innerText末尾没有空格。但是Edge的innerText属性的末尾有空格。因此,我使用labels[i].innerText.trim()而不是labels[i].innerText

编辑:我按照@Kaiido的建议使用了labels[i].textContent.trim()