我有这样的代码:
$(document).ready(function () {
var el = $('#solving');
//var el = $('#solving:contains("Ожидайте появления новой капчи!...")');
setInterval(function(){
console.log("Checking if el has text");
if (el.text() == 'Wait! Ожидайте появления новой капчи!...'){
console.log("Reloading");
}
},2000);
});
但在日志中我看到它不起作用,即使页面包含:我也没有看到记录器的重新加载:
<div id="solving">
Wait! Ожидайте появления новой капчи!...
</div>
我也尝试:
$('#solving:contains("Wait! Ожидайте появления новой капчи!...")')
怎么了?如何检查我的 div 是否存在某些文本?
最佳答案
您可以执行以下操作:
if ($('#solving:contains("Wait! Ожидайте появления новой капчи!...")').length > 0) {
// found
}
参见http://jsfiddle.net/8644K/1/ 。即使您的选择器包含 :contains(...)
,它只是一个选择器。这不会改变 $(<selector>)
的返回值到一个 bool 值,它仍然是一个可能匹配的对象的列表。因此,您可以检查可以找到多少个匹配的对象。
正如文档 ( http://api.jquery.com/contains-selector/ ) 所说,选择包含指定文本的所有元素。
关于javascript - jQuery 检查 div 是否包含文本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18762878/