47 jquery
我正在尝试检查jQuery,如果div包含一些文本,然后添加一个类,如果它.
所以我写了这样的东西:
if( $("#field > div.field-item").text().indexOf('someText') = 0) {
$("#somediv").addClass("thisClass");
}
Run Code Online (Sandbox Code Playgroud)
我没有让这个工作.
<div id="field"><div class="field-item">someText</div></div>
<div id="somediv"></div>
Run Code Online (Sandbox Code Playgroud)
这是不正确的?
Aym*_*ieh 90
您的代码包含两个问题:
==不是=.jQuery.text()将匹配元素的所有文本节点连接成一个字符串.如果你有两个连续的元素,其中第一个包含'some'第二个'Text',第二个包含,那么你的代码会错误地认为存在一个包含的元素'someText'.我建议如下:
if ($('#field > div.field-item:contains("someText")').length > 0) {
$("#somediv").addClass("thisClass");
}
Run Code Online (Sandbox Code Playgroud)
小智 15
是的,我现在想起来了.它工作正常!
if($("div:contains('CONGRATULATIONS')").length)
{
$('#SignupForm').hide(500);
}
Run Code Online (Sandbox Code Playgroud)
if( $("#field > div.field-item").text().indexOf('someText') >= 0)
Run Code Online (Sandbox Code Playgroud)
有些浏览器会包含空格,有些则不会。 >=这里很合适。否则相等是双重相等==
艾曼是对的,但是你也可以这样使用它:
if( $("#field > div.field-item").text().indexOf('someText') >= 0) {
$("#somediv").addClass("thisClass");
}
Run Code Online (Sandbox Code Playgroud)