在IE8中jQuery LI删除失败

时间:2010-06-10 16:08:56

标签: jquery html-lists

我有一个简单的ASP.Net表单,其中包含以下无序列表:

<ul id="ctl00_ContentPlaceHolder1_BulletedList1">
    <li>No Lines Added</li>
</ul>

当用户开始填写表单的其他部分时,我想删除此单<LI>并开始使用其他<LI>元素填充列表。下面的代码是我如何删除:

function commitLine() {
    //if "No Lines Added" is the only item, remove all items, otherwise
    //continue with the additional item
    if ($("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text() == "No Lines Added") {
        $("#ctl00_ContentPlaceHolder1_BulletedList1 li").remove();
    }
    //code that begins the list population
}

现在,这个代码在除IE8之外的每个浏览器中都很有效(可能是IE7,IE6)。我已经盯着这几个小时了,无法解决这个问题。有没有人对这里的问题有所了解?

3 个答案:

答案 0 :(得分:1)

$("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text()是否返回IE中用空格包围的文字?如果是,请将该片段更改为 $.trim($("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text())删除它。

答案 1 :(得分:0)

答案 2 :(得分:0)

我添加了这两行代码,您的代码运行正常:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=8">
</head>