簡體   English   中英

jQuery在元素中搜索文本作為SQL查詢LIKE?

[英]jQuery search text in elements as SQL query LIKE?

嗨,無論如何在dom中搜索文本,就像我們為SQL查詢LIKE做的那樣?

我的意思是,我有。

<ul>
<li>ab</li>
<li>abrecot</li>
<li>abus</li>
<li>aby</li>
<li>abrea</li>
</ul>

我想搜索“abre”,所以返回ASC文本順序:

<li>abrea</li>
<li>abrecot</li>

這可能嗎?

絕對的查詢看起來像:

SELECT <li> FROM <ul> WHERE text LIKE 'abre%' ORDER BY text ASC; :))

在查找文本指定字符串開頭的元素 ,可以使用filter方法:

var x = $("ul li").filter(function() {
    return $(this).text().substr(0, 4) === "abre";
});

這將僅返回在開頭具有字符串“abre”的元素。 使用contains方法的其他答案將返回在其中任何位置找到的字符串的元素,這與您的偽SQL查詢不匹配。

這是上面的一個工作示例

我想你會想要jQuery'contains'函數,看看這里的文檔:

http://api.jquery.com/contains-selector/

您的示例可能如下所示:

$("li:contains('abre')")

編輯以包含此處的注釋,如果您正在尋找“以...開頭”,您可以使用以下語法對元素執行此操作:

$('li[anAttribute^="abre"]')

但這假設您有一個屬性來查詢我認為您不會做的事情,在這種情況下,過濾器的答案可能最適合您的需求。

:contains()選擇器可能就是你要找的東西:

http://api.jquery.com/contains-selector/

引用:

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<div>John Resig</div>

<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn</div>


<script>
$("div:contains('John')").css("text-decoration", "underline");
</script>

</body>
</html>

暫無
暫無

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

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