我想编写一个脚本来替换满足条件的所有文本。 但是,我不希望它替换未显示/呈现的元素(如脚本,样式等)中的文本。 区分这些元素的最佳方式是什么?如何获取可以在页面上显示文本的所有元素?
//Example of idea:
var elements = document.getElementsByTagName("*");
var element;
var text;
for(var i=0; i<elements.length; i++){
element = elements[i];
//Need to detect only text that is displayed.
text = element.textContent;
if(checkText(text)){element.textContent = somethingElse;}//Abstract idea
}
什么类型的你期望相匹配的条件。你能否提供一些细节? –
@ajaiJothi条件并不完全确定,但像“是这个类别的词”。问题是我想在任何页面上使用该脚本而不会导致脚本,样式等标签出现问题,而且我不确定还有多少(meta,old legacy tags)。为了得到我正在检查.textContent的文本,但不幸的是,这包括脚本标记内的javascript。理想情况下,像.isRendered这样的属性会与用于元,脚本,样式等的其他.textContent区分开来。如果有人知道其他人是如何处理这个的,那也可以。 –