假设我有一个网站,我想使用循环遍历其 DOM 元素的脚本,并指出这些元素的属性包含指定文本的一部分。我成功创建了一个简单的循环,可以找到 DOM 元素的每个所需属性并从中创建数组。现在我想将数组属性值与其所属的 DOM 元素配对,并且还能够找到与数组元素(属性)和 DOM 元素匹配的文本的指定部分。
var getAll = document.getElementsByTagName('*');
var myArray = [];
for (var i=0; i<getAll.length; i++) {
getHref = getAll[i].getAttribute('href');
if (getHref !== null) {
myArray.push(getHref);
}
}
我不知道如何将我的属性与 DOM 元素链接起来。我尝试使用 indexOf('') 查找部分文本,但它不起作用,因为它在数组中查找完整字符串。有人会这么好心帮助我吗?我不想使用任何框架。
现在我想将我的数组属性值与 DOM 元素配对
属于并且还能够找出文本的指定部分
匹配数组元素(属性)和 DOM 元素。
为什么不简单地使用以下方法仅获取那些匹配的元素contains选择器
var getAll = document.querySelectorAll("[href*='text-to-be-matched']");
这是一个NodeList
你可以用它迭代for-loop并用您找到的内容索引 DOM 元素。
var attributeValToDOMMap = {};
getAll.forEach( function( element ){
var hrefVal = element.getAttribute( "href" );
attributeValToDOMMap[ hrefVal ] = attributeValToDOMMap[ hrefVal ] || []; //in case one href value is common with multiple DOM elements
attributeValToDOMMap[ hrefVal ].push( element );
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)