JQuery的Contains返回一个Object?

时间:2010-04-28 17:02:34

标签: javascript jquery

我试图查看特定字符串是否出现在div中。我已经尝试但是它不会返回true或false,这是我认为包含的内容吗?

if($("#path"+i+"_status:contains('!=')")){

     alert($("#path"+i+"_status:contains('!=')"));

    //alerts - [object object]

     return true;

}

这是我的HTML:

<div class="status" id="path3_status">
<img height="21" align="absmiddle" src="images/valid.jpg">Text File (3000) = Source Table (3000)<img height="21" align="top" src="images/info.jpg" " id="img_path3">
<a onclick="clear_file('TI004OBAE', 'path3');" href="#">Clear</a>
</div>

我做错了什么。如何判断div是否包含字符串“!=”?

感谢大家的帮助

3 个答案:

答案 0 :(得分:2)

您在此处$("#path"+i+"_status:contains('!=')")正在选择具有该ID并且包含'!='的元素。

您可以执行类似

的操作
if($("#path"+i+"_status:contains('!=')").length > 0)

if($("#path"+i+"_status").text().indexOf("!=") != -1)

这未经过测试,但应该给你基本的想法。

*编辑 - 请参阅Jeff's answer,了解第一个示例的工作原理。

答案 1 :(得分:2)

是的,contains是一个jQuery选择器。选择器返回jQuery对象实例,它维护对匹配的DOM元素的引用数组。

检查jQuery's length property以查看选择器是否与至少一个元素匹配:

if ($("#path"+i+"_status:contains('!=')").length > 0) {
    alert("found a match");
}

答案 2 :(得分:0)

使用类而不是ID可能更容易:

 $('.status:contains("!=")').each(function(){
  alert( $(this).text() );
 })