为什么我的Javascript不能在IE中运行

为什么我的Javascript不能在IE中运行,javascript,internet-explorer,filter,Javascript,Internet Explorer,Filter,下面是我的代码。它应该过滤一个表。除了IE之外,它在任何方面都很有用。你能帮忙吗 也许有一个丢失的标签或什么的。我已经试过很多次了,如果有人能帮我,我真的能做到 <script type="text/javascript"> function hasPath(element, cls) { return (' ' + element.getAttribute('pathway')).indexOf(cls) > -1; } function hasLevel(elem

下面是我的代码。它应该过滤一个表。除了IE之外,它在任何方面都很有用。你能帮忙吗

也许有一个丢失的标签或什么的。我已经试过很多次了,如果有人能帮我,我真的能做到

<script type="text/javascript">
function hasPath(element, cls) {
    return (' ' + element.getAttribute('pathway')).indexOf(cls) > -1;
}

function hasLevel(element, cls) {
    return (' ' + element.getAttribute('level')).indexOf(cls) > -1;
}

function hasBody(element, cls) {
    return (' ' + element.getAttribute('body')).indexOf(cls) > -1;
}

function QualificationSearch() {
    var imgdiv = document.getElementById("Chosen_Pathway_img");
    var p = document.getElementById("PathwaySelect");
    var pathway = p.options[p.selectedIndex].value;
    if (pathway == "ALLPATHS") {
        pathway = "";
        imgdiv.src = "/templates/superb/images/QualChecker/pic_0.png"
    }
    if (pathway == "ES") {
        imgdiv.src = "/templates/superb/images/QualChecker/pic_1.png"
    }
    if (pathway == "HOUSING") {
        imgdiv.src = "/templates/superb/images/QualChecker/pic_2.png"
    }
    if (pathway == "PLAYWORK") {
        imgdiv.src = "/templates/superb/images/QualChecker/pic_3.png"
    }
    if (pathway == "SC") {
        imgdiv.src = "/templates/superb/images/QualChecker/pic_4.png"
    }
    if (pathway == "YW") {
        imgdiv.src = "/templates/superb/images/QualChecker/pic_5.png"
    }
    var a = document.getElementById("AwardingBodySelect");
    var awardingBody = a.options[a.selectedIndex].value;
    if (awardingBody == "ALLBODIES") {
        awardingBody = "";
    }
    var levelGroup = document.getElementsByName("LevelGroup");
    var chosenLevel = ""
    for (var g = 0; g < levelGroup.length; g++) {
        if (levelGroup[g].checked) {
            chosenLevel += levelGroup[g].value + " ";
        }
    }
    if (chosenLevel == undefined) {
        var chosenLevel = "";
    } else {
        var splitLevel = chosenLevel.split(" ");
        var levelA = splitLevel[0];
        var levelB = splitLevel[1];
        var levelC = splitLevel[2];
        var levelD = splitLevel[3];
        if (levelA == "") {
            levelA = "NOLVL"
        }
        if (levelB == "") {
            levelB = "NOLVL"
        }
        if (levelC == "") {
            levelC = "NOLVL"
        }
        if (levelD == "") {
            levelD = "NOLVL"
        }
    }
    var fil = document.getElementsByName("QList");
    for (var i = 0; i < fil.length; i++) {
        fil.item(i).style.display = "none";
        if ((hasBody(fil.item(i), awardingBody) == true || awardingBody == "") && (hasPath(fil.item(i), pathway) == true || pathway == "") && ((hasLevel(fil.item(i), levelA) == true || hasLevel(fil.item(i), levelB) == true || hasLevel(fil.item(i), levelC) == true || hasLevel(fil.item(i), levelD) == true) || chosenLevel == "")) {
            fil.item(i).style.display = "block";
        }
    }
}
</script>

函数hasPath(元素,cls){
return(“”+element.getAttribute('path')).indexOf(cls)>-1;
}
功能级别(元素,cls){
返回(“”+element.getAttribute('level')).indexOf(cls)>-1;
}
函数hasBody(元素,cls){
返回(“”+element.getAttribute('body')).indexOf(cls)>-1;
}
函数限定搜索(){
var imgdiv=document.getElementById(“所选路径”img);
var p=document.getElementById(“路径选择”);
var路径=p.options[p.selectedIndex]。值;
如果(路径==“所有路径”){
路径=”;
imgdiv.src=“/templates/superb/images/QualChecker/pic_0.png”
}
如果(路径==“ES”){
imgdiv.src=“/templates/superb/images/QualChecker/pic_1.png”
}
如果(路径=“住房”){
imgdiv.src=“/templates/superb/images/QualChecker/pic_2.png”
}
如果(路径==“游戏工作”){
imgdiv.src=“/templates/superb/images/QualChecker/pic_3.png”
}
如果(路径==“SC”){
imgdiv.src=“/templates/superb/images/QualChecker/pic_4.png”
}
如果(路径==“YW”){
imgdiv.src=“/templates/superb/images/QualChecker/pic_5.png”
}
var a=document.getElementById(“AwardingBodySelect”);
var awardingBody=a.options[a.selectedIndex].value;
如果(awardingBody==“所有机构”){
awardingBody=“”;
}
var levelGroup=document.getElementsByName(“levelGroup”);
var chosenLevel=“”
对于(var g=0;g
检查分号。IE对这类东西的要求比FF严格得多。

IE中发生了什么?有错误吗?它能工作,但不正确吗?@Giles在IE中检查你的控制台。按F12键找到它。我们需要解析很多代码,而“它不起作用”提供的方向很少。可能是非标准属性(“路径”、“级别”和“身体”)吗?如果没有,我不知道。什么版本的IE不工作?在IE7模式下没有语法错误。它在IE中有什么错误?基本上它在IE中没有运行完整的脚本。你可以在上查看它。我以为IE对ASI和Moz有相同的规则?我不熟悉ASI首字母缩写GGG。另外,你对非标准属性的评论也是可能的这是一个问题。我知道IE中有非标准属性的垫片,但我不能假设Giles正在使用它们。啊,ASI…我只是假设非标准属性在“某些浏览器”中一定会失败,“或者我们不需要
数据-
。。。但据我所知,ASI在IE中是一样的。不过,它在数组和对象文本中以非标准方式处理逗号。今天我学到了一些东西。尽管ASI本质上是一种纠错机制,但在我的通用测试中,性能差异小于1%。至于非标准属性,我上次遇到它是在2009年使用tinyMCE时。也就是说,也许我的回答在不同方面既不相关也不正确。但为了我自己的理智,请在需要分号的地方使用分号。