Сбой удаления JQuery LI в IE8 - PullRequest
0 голосов
/ 10 июня 2010

У меня есть простая форма 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 ]

1 голос
/ 10 июня 2010

Является ли $("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text() возвращением текста, окруженного пробелами в IE?Если это так, измените этот фрагмент на $.trim($("#ctl00_ContentPlaceHolder1_BulletedList1 li:nth-child(1)").text()), чтобы удалить его.

0 голосов
/ 10 июня 2010

Я добавил эти две строки кода, и ваш код работает нормально:

<!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>
0 голосов
/ 10 июня 2010

Я считаю, что IE не поддерживает nth-child.

http://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspx

...