javascript - 特定字符串的搜索类
问题描述
我有这个 HTML 片段。
<div class="text">helloworld</div>
因此,当在该类中找到该字符串时,我想在“文本”类中搜索特定字符串。执行一个函数,但前提是找到字符串,如果没有找到字符串,则简单地打印console.log('not found.')
,如果它只是简单地打印它。
我的代码如下所示。
var timerVar = setInterval (function() {DoMeEverySecond (); }, 2000); // << set to 2 seconds.
function DoMeEverySecond ()
{
var xpathResult = document.evaluate("(//text()[contains(., 'helloworld')]) [1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var node=xpathResult.singleNodeValue;
if (node==null)
console.log('Not found')
else
console.log('found');
}
此代码有效,但它搜索所有类。我只想搜索“文本”类
解决方案
请检查下面的代码,首先你找到所有的节点(参考这个问答)与类 contains 'text'
。之后检查每个节点是否包含单词'helloworld'
function getElementsByXPath(xpath, parent)
{
let results = [];
let query = document.evaluate(xpath, parent || document,
null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (let i = 0, length = query.snapshotLength; i < length; ++i) {
results.push(query.snapshotItem(i));
}
return results;
}
function DoMeEverySecond ()
{
var nodes = getElementsByXPath("//*[contains(@class,'text')]", document);
for(var i =0; i< nodes.length; i++){
var xpathResult = document.evaluate("(text()[contains(., 'helloworld')]) [1]", nodes[i], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var node=xpathResult.singleNodeValue;
if (node==null)
console.log('Not found')
else
console.log('found');
}
}
var timerVar = setInterval (function() {DoMeEverySecond (); }, 2000); // << set to 2 seconds.
推荐阅读
- c# - 停止模拟 IFormFile 创建 FileCopy
- python - 如何使用 read_excel 和 to_excel 格式化 excel 单元格?
- r - 如何为R中列的每个值运行一个函数
- javascript - 用户不输入 0 时的反应输入掩码自定义
- xcode10 - Xcode 10:运行 Set Build Number 脚本失败并显示“没有这样的文件或目录”
- javascript - jQuery如何仅删除某些元素的类
- python - frompyfunc 如何遍历数组?
- angular - 无法查看 ts 文件的 sourceMaps
- java - 编年史地图表现
- java - findOne 方法不能使用两个数据源(MySQL 和 MongoDB)编译