internet explorer和javascript中的动态列表

internet explorer和javascript中的动态列表,javascript,html,internet-explorer,dynamic,html-lists,Javascript,Html,Internet Explorer,Dynamic,Html Lists,我有一个需要用户输入的页面,然后它将执行一些javascript并填充页面上的字段。其中一部分包括调用一个perl脚本,该脚本将运行并从另一个页面获取数据,并根据用户的输入进行检查。perl脚本将返回的项目数可以是从零到十甚至更多。为了处理这个问题,我编写了一些javascript,将每个项目附加到html页面的列表中 我遇到的问题是,它似乎在Safari和chrome中工作得非常好,但似乎不想在InternetExplorer6或7中工作。这里的主要问题是,大多数使用它的人都将使用intern

我有一个需要用户输入的页面,然后它将执行一些javascript并填充页面上的字段。其中一部分包括调用一个perl脚本,该脚本将运行并从另一个页面获取数据,并根据用户的输入进行检查。perl脚本将返回的项目数可以是从零到十甚至更多。为了处理这个问题,我编写了一些javascript,将每个项目附加到html页面的列表中

我遇到的问题是,它似乎在Safari和chrome中工作得非常好,但似乎不想在InternetExplorer6或7中工作。这里的主要问题是,大多数使用它的人都将使用internet explorer。我的javascript代码中没有错误

    然后我让javascript将div中的实例替换为

  • 诸如此类的废话

    并在每次需要向列表中添加项目时重复该操作。页面上的所有其他内容都可以正常工作,甚至还有新行显示新列表项的位置。但是,它没有显示任何文本

    是我做错了什么,还是internet explorer没有正确呈现


    编辑:添加请求的信息

    var dateList = document.getElementById('testDiv').innerHTML;
    var insertToList = "<li><div>blah blah blah</div></li></ul>";
    dateList = dateList.replace('</ul>', insertToList);
    document.getElementById('testDiv').innerHTML = dateList;
    
    var-dateList=document.getElementById('testDiv').innerHTML;
    var insertToList=“
  • 诸如此类”
  • ”; 日期列表=日期列表。替换(“”,插入列表); document.getElementById('testDiv')。innerHTML=dateList;

    我在一个循环中循环了这些结果,并根据需要将结果添加到列表中。不幸的是,我无法链接到您的页面,因为这是一个内部项目。

    取决于您使用的选择器引擎,IE是不同的。我建议使用jQuery来选择和替换内容,因为它可以为您处理浏览器差异。

    在IE6中
    testDiv.innerHTML
        。请注意大写标记

        dateList.replace(“
      ”,…)
    找不到任何匹配项,因此它不执行替换

    更好的方法是获取对list(ul)元素的引用,并将HTML附加到那里

    var ulRef = document.getElementById('testDiv').getElementsByTagName("ul")[0];
    ulRef.innerHTML += "<li><div>blah blah blah</div></li>";
    
    var ulRef=document.getElementById('testDiv').getElementsByTagName(“ul”)[0];
    ulRef.innerHTML+=“
  • 诸如此类诸如此类;
  • 您可以链接到该网页吗?或者至少发布执行替换的Javascript?参见上文,添加了Javascript代码。