2

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

基本上,我想利用 JavaScript 或 jQuery(可能使用 Ajax)从我的网站页面中获取一个包含单词的 div。

我不是要求任何人为我编写代码,我只是想指出正确的方向。

例如,假设我有这个 HTML 页面:

<div class='findfromthis'>hello guys</div>
<div class='findfromthis'>goodbye guys</div>
<div class='findfromthis'>goodbye people</div>

我想显示divs其中包含“家伙”一词的所有内容。

非常感谢你!

4

2 回答 2

2

JQuery 有一个contains选择器,可以找到包含特定文本的所有元素。类似的东西$("div:contains('guys')")应该可以解决问题。然后您可以使用 .each 或 .show 等来处理选定的元素。

有关更多详细信息,请参阅http://api.jquery.com/contains-selector/

编辑 :

OP 认为以下代码很有用。它将选择所有类别为“findfromthis”且不包含短语“guys”的 div,并将它们从 DOM 中删除:

$("div.findfromthis:not(:contains('guys'))").remove();
于 2012-12-26T23:40:43.340 回答
0

给你的 div 一个类,比如“.myDiv”,然后通过 jQuery:

$('.myDiv').doSomething...

我不完全确定 AJAX 将如何发挥作用,但为您指明正确的方向:

http://api.jquery.com/jQuery.ajax/

您的编辑是一个完全不同的问题。但是你会做同样的事情来获取 div。在这种情况下,您将使用“每个”:

$('.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 是否适合这一点。这一切都可能发生在客户端。

于 2012-12-26T23:35:00.497 回答