在对象中搜索字符串

时间:2014-08-07 19:30:01

标签: jquery

如果对象包含字符串,我如何通过JQuery检查?例如,我将此作为对象:

<p>Lorem ipsum</p>
<p>Needle: in haystack</p>
<p>Anything: more text</p>

所以现在我想在开头检查这个对象是否包含一个或多个元素:

  • &#34;针:&#34;
  • &#34;东西:&#34;
  • &#34;任何:&#34;

在这种情况下,在该对象中找到两个元素。现在我需要输出&#34;针,任何&#34;

的变量

我尝试使用:containsfilter(),但我失败了。

<script type="text/javascript">
$(function() {
    var foundin = $('*:contains("Needle:")');
    if (foundin) {
        // extract part
    }
});
</script>

2 个答案:

答案 0 :(得分:1)

类似的东西:

var values = ["Needle:", "Something:", "Anything:"],
    found = [];

$("*", obj).each(function() {
    for (var i = 0; i < values.length; i++) {
        if ( $(this).text().indexOf(values[i]) == 0 ) {
            found.push(values[i]);
            break;
        }
    }
});

console.log(found);

这假定obj是解析HTML的对象,可供jQuery使用。

答案 1 :(得分:0)

我不确定你想要达到的最终结果是什么,但你可以使用类似的东西:

if (str.indexOf("Needle:") >= 0)

其中str是你的对象。