2009-10-13 66 views
0

我有我需要運行的以下xpath,但jquery不支持函數....所以我怎麼能讓這個工作在jQuery中?jquery中不支持xpath函數

$("//*[br]/text()[string-length(normalize-space()) != 0]").each(.... 

回答

0

John Resig(jQuery的作者)寫了一個Xpath Plugin

+0

我相信只是支持基礎知識,而不是像標準化空間的字符串長度那樣的具體功能。 – 2009-10-13 08:25:58

1

Um - 現代jQuery不支持XPath。 jQuery不是Xpath解析工具。

不過,我會建議你實際上翻譯成jQuery的......也許像

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

雖然你可能需要一個額外的正則表達式替換多個空格的,我不太清楚怎麼說XSL/xpath函數起作用。

+0

注 - 我認爲* [br]是任何具有'br'屬性的元素,我假設您在'br'之前錯過了@。讓我知道你是否真的想要別的東西。 – 2009-10-13 08:27:21

+0

另一個觀點是某些瀏覽器實現了w3選擇器API,因此如果瀏覽器支持該方法,它將依賴於該方法而不是常規的DOm方法。 Xpath曾經在舊的jQuery中得到支持,但我想維護這兩個版本並解釋所有新功能都太麻煩了。 – 2009-10-13 08:29:20