我知道如何找到特定的文字,但我真的很难找到具有特定文字的元素
例如:<span class="foo">Special</span>
是否有类似下面这个脚本的示例来查找带文字的元素?
var txt = window.document.body.innerHTML;
if (txt.match(/Special/)) {
// do something if true
alert("Found");
} else {
// do something if false
alert("Sorry");
};
答案 0 :(得分:2)
你可以,例如捕获文档中的每个元素,并检查它们中是否包含给定文本。
var elems = document.querySelectorAll("*"),
res = Array.from(elems).find(v => v.textContent == 'Special');
console.log(res ? 'found!' : 'not found');
&#13;
<span class="foo">Special</span>
<span class="foo">Else</span>
&#13;
答案 1 :(得分:0)
使用纯Javascript只需抓住元素的父级:
var x = this.parentElement.nodeName; //x=="span"
或
var x = this.parentElement; //x == <span> object
使用jQuery只需抓住元素的父级:
$(this).parents("span");
因此,如果您在内部添加上述行,则可以将span元素作为对象或文本。