所以我写了这样的东西:
if( $("#field > div.field-item").text().indexOf('someText') = 0) { $("#somediv").addClass("thisClass"); }
我不会让这个工作。
<div id="field"><div class="field-item">someText</div></div> <div id="somediv"></div>
这是不正确的?
> JavaScript中的等式运算符是==,not =。> jQuery.text()将匹配元素的所有文本节点连接到单个字符串中。如果你有两个连续的元素,其中第一个包含’一些’,第二个包含’文本’,那么你的代码将错误地认为有一个包含’someText’的元素。
我建议如下:
if ($('#field > div.field-item:contains("someText")').length > 0) { $("#somediv").addClass("thisClass"); }