Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Javascript在IE9上添加li元素_Javascript_Internet Explorer - Fatal编程技术网

通过Javascript在IE9上添加li元素

通过Javascript在IE9上添加li元素,javascript,internet-explorer,Javascript,Internet Explorer,我试图通过javascript显示一个调查列表。 代码如下: function ParseSurveys(surveyList) { var sideBarSurveyList = document.getElementById('sliding-navigation'); for (var m = 0; m < surveyList.length; m++) { var child = document.createElement

我试图通过javascript显示一个调查列表。 代码如下:

function ParseSurveys(surveyList) {
        var sideBarSurveyList = document.getElementById('sliding-navigation');

        for (var m = 0; m < surveyList.length; m++) {
            var child = document.createElement("li");
            child.innerHTML += "<li class='sliding-element'><a href='javascript:sendSurvey(" + (m + 1) + ")'>Survey " + surveyList[m].Id + "</a></li>";
            sideBarSurveyList.insertBefore(child, sideBarSurveyList.lastChild);
        }
    }
它可以在Chrome和Firefox上完美运行,但在IE9上却不行。 在Chrome和Firefox上,调查列表如下所示: •调查1 这就是我想要的

然而,在IE9上,它看起来像: • •调查1

为什么IE9显示了两个点? 我能有一个简单的解决办法吗?我不想为IE9和任何其他浏览器编写两个版本的Javascript:

谢谢!
艾希礼

也许你不打算生两个孩子?尝试忽略innerHTML分配中的标记:

function ParseSurveys(surveyList) {
    var sideBarSurveyList = document.getElementById('sliding-navigation');

    for (var m = 0; m < surveyList.length; m++) {
        var child = document.createElement("li");
        child.className = 'sliding-element';
        child.innerHTML += "<a href='javascript:sendSurvey(" + (m + 1) + ")'>Survey " + surveyList[m].Id + "</a>";
        sideBarSurveyList.insertBefore(child, sideBarSurveyList.lastChild);
    }
}

因为你创造了两次李;一次使用createElement,一次使用内部html。

您正在使用document.createElementli创建新元素;然后通过innerHTML添加另一个li。这就是问题所在吗?只需将className添加到child并通过innerHTML仅附加锚。