JQuery IE8 селектор странности - PullRequest
0 голосов
/ 02 июня 2009

Я работаю с узлом xml следующей структуры:

<CF>
    <T>
        <TX>title</TX>
        <em>15:2:</em>
    </T>
    <KW>
        <TX>SOMETHING ELSE</TX>
    </KW>
    <!-- OTHER TAGS, SOME OF WHICH HAVE A <TX> CHILD -->
</CF>

В Firefox все работает более или менее так, как я ожидаю, но в IE8 у меня странное поведение. Например, следующее дает мне объект jquery длиной 14:

jQuery("T TX", xmlDoc).length

где он должен быть только один (тег «CF» содержит только один тег «T», который, в свою очередь, содержит только один тег «TX»).

Добавление к странности, если я уберу "T" из селектора, как показано ниже:

jQuery("TX", xmlDoc).length

Я получаю МЕНЬШЕ, а не равное или большее количество результатов (длина объекта jquery равна 12).

Итак, первый вопрос: если есть только один тег TX и у него есть только один тег T, почему jquery находит 14 тегов TX, которые являются потомками буквы T?

Второй вопрос: если я упростил селектор, удалив букву «Т», почему я получаю меньше результатов, чем результатов?

Я что-то не так делаю или наткнулся на ошибку?

Ответы [ 3 ]

1 голос
/ 02 июня 2009

Возможно, вы можете попробовать что-то вроде этого:

jQuery('T', mydoc).find('TX').length

и посмотрим, что произойдет

0 голосов
/ 09 апреля 2011

Кажется, есть проблема с анализом не HTML-тегов в IE8 с помощью jQuery. Я только что наткнулся на это обсуждение , где предложенный ответ заключается в использовании Microsoft.XMLDOM для создания вашего объекта DOM из XML. Вот ключевая часть:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(text);

Я попробовал это, и это исправило некоторые проблемы, которые у меня возникали с IE8 при создании XML-документов из строк ($ () и $ .find ничего не возвращали, работал бы только $ .filter).

Обновление: вместо этого вы можете посмотреть на $ .parseXML ().

0 голосов
/ 02 июня 2009

В " title " 14 символов. Так как я не знаю, сколько есть фактических элементов TX, я не могу сказать, является ли число 12 из второго запроса количеством элементов TX в документе.

Что-то вроде сумасшедшего и за пределами стены ... но если вы изменили свойство длины, оно не возвращает то, что вы думаете, что оно возвращает?

...