Internet Explorer JQuery: содержит проблему - PullRequest
2 голосов
/ 12 февраля 2010

Я пытаюсь проанализировать простой XML-документ с помощью jQuery. Кто-нибудь знает, почему следующее прекрасно работает в Chrome и Firefox, но не в Internet Explorer (7 и 8)?

var selBunit = $("#bunit").val();
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team')

Ниже приведен фрагмент XML. Поэтому в основном я пытаюсь вернуть все элементы "team" для выбранной бизнес-единицы ("bunit").

<bunit>
<bname>Unit 1</bname>
<teams>
    <team>
        <name>Team 1</name>
        <jobtitles>
            <jobtitle approval="false">Jobtitle 1</jobtitle>
        </jobtitles>
    </team>
    <team>
        <name>Team 2</name>
        <jobtitles>
            <jobtitle approval="false">Jobtitle 2</jobtitle>
        </jobtitles>
    </team>                         
</teams>
</bunit>

Сначала я попробовал

$(bunitXml).find('bunit bname:contains($("#bunit").val())').parent().find('team')

, который вообще не работает. После некоторого поиска в Google я попробовал следующее:

var selBunit = $("#bunit").val();
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team')

, который возвращает все элементы команды в Chrome и Firefox, но не в Internet Explorer. Я не могу обдумать это. Я довольно новичок в jQuery, поэтому могу ошибиться, поэтому любые предложения будут оценены. Спасибо большое

1 Ответ

0 голосов
/ 22 февраля 2010
var selBunit = $("#bunit").val();
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team')

Если я хорошо понимаю, selBunit - это строка, поэтому вы должны использовать:

var selBunit = $("#bunit").val();
$(bunitXml).find("bunit bname:contains('"+selBunit+"')").parent().find('team')

или

 $(bunitXml).find("bname:contains('" +selBunit+ "')").find('team');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...