使用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