2012-06-25 135 views
1

什麼是使用jQuery來搜索文本字符串的div最簡單的方法是什麼?我特別想搜索帶有ID的div,看它是否包含$(this).text()。這樣做的目的是能夠將元素附加到div,但能夠防止同一個字符串被一次又一次地寫入同一個div。搜索一個元素,看它是否包含一個特定的字符串

+1

我們需要看到您的一些標記。你的div只包含文本,還是有其他需要導航的HTML? I.E.,你想搜索div的子元素,還是隻搜索div的文本? – jackwanders

+0

這只是

和文本插入使用jquery .append(),我需要檢查它是否包含使用if語句的某些文本。使用「==」的 –

回答

2

我特別想搜索一個div一個id,看看它是否包含$(this).text()

我想我可能會用String#indexOf去:

var div = $("#theId"), 
    text = $(this).text(); 
if (div.text().indexOf(text) === -1) { 
    // It doesn't have it, add it 
    div.append(text); // Or whatever 
} 
+0

謝謝..它完美的作品。順便說一句,===有什麼意義。我以前見過3 =但我從未理解過他們的觀點。 –

+0

@GavinSellers:在JavaScript中,'=='會執行類型強制轉換,所以你可以獲得像'0 =='「'''''''''這樣有趣的東西。 '==='不會執行類型強制,它所做的第一件事是檢查操作數是否屬於相同類型和短路(如果不是,則評估爲「false」)。如果他們是,他們的價值進行比較。 –

+0

感謝您的幫助。 –

0

您可以使用:contains選擇或filter方法(如果你需要精確的巧合):

$("div[id]").filter(function() { 
    return $(this).text() == str; 
}); 
+0

與「包含」不同。你可能會使用indexOf或正則表達式來檢查(對於.filter) – Ian

+1

@ianpgall:取決於OP的意思是「包含」。 –

相關問題