从页面获取div

时间:2012-12-26 23:32:48

标签: javascript jquery

我到处寻找一种技术,但我没有找到适合我需要的东西。

基本上,我想利用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在他们中间。

提前非常感谢!!

2 个答案:

答案 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适合这个。这一切都可能发生在客户端。