我有一个简单的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)。我已经盯着这几个小时了,无法解决这个问题。有没有人对这里的问题有所了解?
答案 0 :(得分:1)
$("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text()
是否返回IE中用空格包围的文字?如果是,请将该片段更改为
$.trim($("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text())
删除它。
答案 1 :(得分:0)
我相信IE不支持nth-child。
http://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspx
答案 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>