我到处寻找一种技术,但我没有找到适合我需要的东西。
基本上,我想利用JavaScript或jQuery(可能使用Ajax)来抓取包含我网站上某个页面的单词的div。
我不是要求任何人为我编码,我只想指出正确的方向。
例如,我们说我有这个HTML页面:
<div class='findfromthis'>hello guys</div>
<div class='findfromthis'>goodbye guys</div>
<div class='findfromthis'>goodbye people</div>
我想显示包含&#34; men&#34;这个词的所有divs
在他们中间。
提前非常感谢!!
答案 0 :(得分:2)
JQuery有一个contains
选择器,可以找到包含特定文本的所有元素。 $("div:contains('guys')")
的某些内容应该可以解决问题。然后你可以使用.each或.show等来处理所选元素。
有关详细信息,请参阅http://api.jquery.com/contains-selector/。
编辑:
以下代码被OP视为有用。它将选择所有具有“findfromthis”类的div,其中不包含短语“guys”,并将其从DOM中删除:
$("div.findfromthis:not(:contains('guys'))").remove();
答案 1 :(得分:0)
给你的div一个班,说&#39; .myDiv&#39;然后通过jQuery:
$('.myDiv').doSomething...
我不完全确定AJAX会如何发挥作用,但要指出正确的方向:
http://api.jquery.com/jQuery.ajax/
您的编辑是一个完全不同的问题。但你也要做同样的事情来获得div。在这种情况下,您可以使用&#39;每个&#39;:
$('.findfromthis').each(function(){
// for each div you can now grab the text it contains:
DivText = $(this).text();
// now you could use a variety of different JS seach techniques to find
// your content. But one example to search for a word or word fragment would be:
if (DivText.indexOf("guys") !== -1)){
// then this div has the word 'guys' in its text somewhere
}
})
如果搜索词更复杂(比如不想查找片段),那么您可能希望将REGEX用于搜索部分。
但是,再一次,不确定AJAX适合这个。这一切都可能发生在客户端。