目前我有很多信息在幾個不同的div中。使用jquery在頁面上搜索並返回結果
我希望能夠搜索此信息(即全部在同一頁面上)並將結果打印在div中,而無需使用mysql。
也就是說,如果我搜索'主席','主席'的所有結果都會出現在div中。
我該怎麼做呢?我很喜歡jquery,但我很享受它的驚人力量:)
目前我有很多信息在幾個不同的div中。使用jquery在頁面上搜索並返回結果
我希望能夠搜索此信息(即全部在同一頁面上)並將結果打印在div中,而無需使用mysql。
也就是說,如果我搜索'主席','主席'的所有結果都會出現在div中。
我該怎麼做呢?我很喜歡jquery,但我很享受它的驚人力量:)
如果你真的想使用jQuery,那麼你可以做這樣的事情:
var wordToSearch = "house";
$("div:contains('" + wordToSearch + "')").each(function() {
$("#result").append(this.innerText);
});
這裏的jsfiddle例如:http://jsfiddle.net/GEyey/
U可以遍歷所有Div,檢查它們中的一個是否具有文本「椅子」並在ResultDataDiv中添加文本(它可以查看類似的東西):
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if (divs[i].innerHTML.indexOf("chair"){
$("#myDataDiv").innerHTML = divs[i].innerHTML;
}
}
如果你想要一個事件,您的網頁上工作,你應該把它叫做$(document).ready()
函數內。
你應該做的第一件事就是找出你想要的標籤使搜索。我將CSS類分配給要搜索的div。然後,像這樣的工作:
$('#searchButton').click(function() {
$('div.searchable').each(function() {
if ($(this).text().indexOf(searchTerm) > -1) {
//Do something.
}
});
});
1 。您只搜索「div」標籤。那麼「p」,「span」等等呢? 2.您至少應該使用.indexOf()不等於運算符,因爲您的解決方案意味着div只包含搜索到的單詞。 3. div [i] .innerHTML =「chair」應該是==,我猜。 – ionoy 2012-01-09 13:10:52
根據這個問題,我引用:「目前我有很多信息是在幾個不同的divs。」 – eMi 2012-01-09 13:12:45
更新了答案,我在飛行中做了這個,以便他能夠實現這個想法。< – eMi 2012-01-09 13:17:42