我正在尝试编写一个代码来搜索特定文本,如果找到它,它将单击一个按钮。它需要连续检查字符串,但是我正在努力寻找一种方法来实现这一点。我是编码的新手,非常感谢您的帮助! :)
var findMe = [
//Test
'Hello!',
];
function findText() {
var text = document.querySelector('div[id=BtnText]');
for (var i = 0; i < findMe.length; i++) {
if (BtnText.match(findMe[i])) {
var btnDo = document.querySelector('input[type="submit"][value="Click!"]');
if (btnDo) {
btnDo.click();
}
}
}
}
最佳答案
只需稍微编辑一下您的代码即可。
我假设你有这样的 HTML?
<div id="BtnText">Hello!</div><input type="submit" value="Click!">
你将把你的代码改成这样
var findMe = [
//Test
'Hello!',
];
function findText() {
var div = document.querySelector('div[id=BtnText]');
for (var i = 0; i < findMe.length; i++) {
if (div.innerText.indexOf(findMe[i]) !== -1) {
var btnDo = document.querySelector('input[type="submit"][value="Click!"]');
if (btnDo) {
if (typeof btnDo.onclick == "function") {
btnDo.onclick.apply(elem);
}
}
return true;
}
}
return false;
}
如果要连续检查。我建议使用 setInterval。
var interval = setInterval(function() {
var textFound = findText();
if(textFound) {
clearInterval(interval);
}
},50);
关于javascript - 如何循环检查 Javascript 文档中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16635569/