我有这样的代码:
$(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对一些文本的礼物?
发布于 2013-09-12 11:27:12
您可以执行以下操作:
if ($('#solving:contains("Wait! Ожидайте появления новой капчи!...")').length > 0) {
// found
}见http://jsfiddle.net/8644K/1/。即使您的选择器包含:contains(...),它也只是一个选择器。这并不会将$(<selector>)的返回值更改为布尔值,而布尔值仍然是可能匹配的对象的列表。因此,您可以检查可以找到多少匹配的对象。
如文档(http://api.jquery.com/contains-selector/)所述,选择包含指定文本的所有元素。
发布于 2013-09-12 11:26:36
您的现有代码工作2秒间隔.I已更改为400毫秒。
$(document).ready(function () {
var el = $('#solving');
//var el = $('#solving:contains("Ожидайте появления новой капчи!...")');
setInterval(function(){
console.log("Checking if el has text");
if (el.text().indexOf("Wait!") != -1){
console.log("Reloading");
}
}, 400);
});发布于 2013-09-12 11:31:52
使用
el.text().trim()== 'Wait! Ожидайте появления новой капчи!...'在开始使用下一行的文本时,必须删除新行字符
演示http://jsfiddle.net/f4PQM/
$(document).ready(function () {
var el = $('#solving');
//var el = $('#solving:contains("Ожидайте появления новой капчи!...")');
setInterval(function(){
console.log("Checking if el has text" + el.text());
if (el.text().trim() == 'Wait! Ожидайте появления новой капчи!...'){
console.log("Reloading");
}
},2000);
});https://stackoverflow.com/questions/18762878
复制相似问题