Javascript 目标全部<;a>;元素具有特定的textContent,但没有可用的标识符
我有一个网页,其中包含一些我想删除的Javascript 目标全部<;a>;元素具有特定的textContent,但没有可用的标识符,javascript,arrays,loops,dom,properties,Javascript,Arrays,Loops,Dom,Properties,我有一个网页,其中包含一些我想删除的a标签 假设这些a标记没有标识符,并且我也用后端(不是我的站点)的标识符来满足它们: 如何通过textContent属性将所有这些a元素作为目标 我已经尝试过这些代码: 第一个是未定义的 第二个带来了意外的标识符 作为一名JS新生,我错过了什么 代码1: let textToRemove = [ "עריכה", "עריכת קוד מקור", "שיחה", "גרסאות קודמות", "מזנון", "כיכר העיר" ]; docu
a
标签
假设这些a
标记没有标识符,并且我也用后端(不是我的站点)的标识符来满足它们:
如何通过textContent
属性将所有这些a
元素作为目标
我已经尝试过这些代码:
- 第一个是未定义的李>
- 第二个带来了意外的标识符李>
let textToRemove = [
"עריכה",
"עריכת קוד מקור",
"שיחה",
"גרסאות קודמות",
"מזנון",
"כיכר העיר"
];
document.querySelectorAll("a").forEach( e => {
if ( e.textContent == textToRemove ) {
e.style.display = "none"
}
});
代码2:
let strings = [
"עריכה",
"עריכת קוד מקור",
"שיחה",
"גרסאות קודמות",
"מזנון",
"כיכר העיר"
];
let links = document.querySelectorAll("a");
for ( string as strings) {
if ( links.textContent == strings) {
link.style.display = "none";
}
}
因此,看起来您试图将标记内的文本与
字符串
/文本移动
数组内的字符串进行比较,然后隐藏匹配的元素
您的代码中有一些错误。请尝试以下操作,而不是代码1:
var x = document.querySelectorAll("a");
for (var i = 0; i < x.length; i++) {
if (strings.indexOf(x[i].textContent) != -1) {
x[i].style.display = "none";
}
}
var x=document.querySelectorAll(“a”);
对于(变量i=0;i
不能使用
==
查看数组中是否包含特定字符串。相反,使用indexOf
是有效的,因为它搜索值并返回其索引(如果存在),如果不存在则返回-1。第二种语法属于PHP
无论如何,您的第一个代码有一些错误,首先您尝试比较数组和字符串,而不是检查数组是否包含字符串
2) 比较运算符是=
而不是=
3) 在函数末尾的}
之前放置)
工作代码:
let textToRemove = [
"עריכה",
"עריכת קוד מקור",
"שיחה",
"גרסאות קודמות",
"מזנון",
"כיכר העיר"
];
document.querySelectorAll("a").forEach( e => {
if (textToRemove.indexOf( e.textContent ) > -1 ) {
e.style.display = "none";
}
});
这是什么样的情况:
(e.textContent=textToRemove)
?语法错误来自交换的括号)}
,它需要在第一个代码段的末尾}
。@Teemu,是的,我支持你(字符串为字符串){…
哈?我想我把PHP语法与JSfor…的语法混淆了。修复了拼写错误(从)
到)
)。是的,我知道比较运算符是==
,正如我在第二个示例中所写的那样。在第一个例子中,这是一个打字错误。现在将修复。非常感谢。稍后我将对此进行检查。Abe,if(strings.indexOf(links[I].textContent)=true){
对我来说似乎有点困惑。有没有其他的表达方式呢?我是JS新手,对我来说确实有点困惑。嗯,你刚才评论的代码片段我并没有真正写出来,但我可以分解我为你发布的第三行内容。基本上我使用的是索引()
方法,该方法可用于javascript中的所有数组。如果您的数组包含yourArray.indexOf(stringToLookFor)中的任何内容
它将返回索引。如果字符串不在数组的任何元素内,它将返回-1。因此,我的意思是,如果元素的textContent在字符串
数组内,则将其display属性设置为none
。