Функции xpath не поддерживаются в jquery

У меня есть следующий xpath, который мне нужно запустить, но Jquery не поддерживает функции .... так как я могу на самом деле заставить эту работу в jquery?

$("//*[br]/text()[string-length(normalize-space()) != 0]").each( ....
13.10.2009 08:16:41
3 ОТВЕТА

Джон Резиг (автор jQuery) написал плагин Xpath .

0
13.10.2009 08:22:41
Я считаю, что это просто поддерживает основы, а не конкретные функции, такие как длина строки нормализованного пространства.
meder omuraliev 13.10.2009 08:25:58

Ум - современный jQuery не поддерживает XPath. jQuery не является утилитой разбора Xpath.

Тем не менее, я бы порекомендовал вам на самом деле перевести это в jQuery ... возможно, что-то вроде

$('*[br]').filter(function() {
    var text = $(this).text(), normalized = $.trim( text );
    return normalized.length>0
});

Хотя вам может понадобиться дополнительная замена регулярного выражения для нескольких пробелов, я не совсем уверен, как работает эта функция xsl / xpath.

1
8.05.2012 15:00:52
Примечание. Я предполагал, что * [br] был любой элемент с атрибутом 'br', я предполагал, что вы пропустили @ раньше br. Дайте мне знать, если вы действительно имели в виду что-то другое вместо этого.
meder omuraliev 13.10.2009 08:27:21
Другая особенность заключается в том, что некоторые браузеры реализуют API селекторов w3, поэтому, если браузер поддерживает этот метод, он будет использовать его вместо обычных методов DOm. Раньше Xpath поддерживался в старом jQuery, но я думаю, что было слишком сложно поддерживать обе версии и учитывать все новые функциональные возможности.
meder omuraliev 13.10.2009 08:29:20

Пожалуйста, проверьте новый плагин совместимости для JQuery:

http://docs.jquery.com/Release:jQuery_1.2#XPath_Compatibility_Plugin

Но помните одну вещь: «XPath - это язык для обхода узлов в XML-документе во время преобразования (ищите XSLT)». :-)

0
13.10.2009 08:28:27