簡體   English   中英

如何使用帶有正則表達式作為參數的jQuery .find方法?

[英]How can i use jQuery's .find method with a regular expression as the parameter?

我有一個要搜索“相似”結果的xml,類似於LIKE在SQL中所做的。 我考慮過做類似$(xml).find('regexHere')事情,但是我不知道該怎么做。 如果那不是最好的方法,您還能推薦其他方法嗎? 我需要搜索的數據在節點的參數范圍內。

編輯

$(xml).find('[cityName=Rio de Janeiro]')為我提供了我要搜索的節點,因為它是完全相同的字符串。 但是,如果我搜索Rio ,即使Rio de Janeiro和Rio Claro的節點具有我要查找的字符串,也不會得到任何結果。

我嘗試使用$(xml).find('[cityName|="Rio"]')沒有運氣,但沒有一個結果出現,但是如果我改用Rio de Janeiro我就會得到我真正需要的東西。

要查找具有與某個正則表達式匹配的屬性的所有元素,可以使用.find("*")選擇所有元素,然后使用.filter(...)刪除任何不匹配的元素:

例如,要查找其message屬性包含“ hello world”的所有節點:

var elements = $(xml).find("*").filter(function() {
    return /[Hh]ello [Ww]orld/.test($(this).attr("message"));
});

您可以使用逗號分隔選擇器,也可以使用.contents().filter()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM