假设我有一个像这样的HTML结构:
<li id="jkl">
<div class="aa">
<div class="bb">
<div class="cc">
<div class="dd">
<a ...><strong>
<!-- google_ad_section_start(weight=ignore) -->Test
<!-- google_ad_section_end --></strong></a>
</div>
</div>
</div>
<div class="ee">
<div class="ff">
<div class="gg">
<div class="excludethis">
<a...>Peter</a>
</div>
</div>
</div>
</div>
</div>
</li>
我的目标是将<li id="jkl">
的内容(innerhtml)设置为'{'如果在<li id="jkl">
内有单词列表中的任何单词(在下面的示例中为Wortliste),除非他们在<div class="excludethis">
。
换句话说,在检查过程中忽略<div class="excludethis">
并显示html,即使<div class="excludethis">
内有单词列表中的一个或多个单词。
要改变什么?
我目前的方法(不检查<div class="excludethis">
)
Wortliste=['Test','Whatever'];
TagListe=document.selectNodes("//li[starts-with(@id,'jk')]");
for (var Durchgehen=TagListe.length-1; Durchgehen>=0; Durchgehen--)
{
if (IstVorhanden(TagListe[Durchgehen].innerHTML, Wortliste))
{
TagListe[Durchgehen].innerHTML = '';
}
}
带
function IstVorhanden(TagListeElement, Wortliste)
{
for(var Durchgehen = Wortliste.length - 1; Durchgehen>=0; Durchgehen--)
{
if(TagListeElement.indexOf(Wortliste[Durchgehen]) != -1)
return true;
}
return false;
}
只需要在opera中工作,因为它是一个用户脚本。