Javascript中不区分大小写的文本内容
我有以下代码,使用我处理网页中具有特定文本内容的所有链接:Javascript中不区分大小写的文本内容,javascript,regex,dom,webpage,case-sensitive,Javascript,Regex,Dom,Webpage,Case Sensitive,我有以下代码,使用我处理网页中具有特定文本内容的所有链接: let links = document.querySelectorAll('a b'); for (let i = 0; i < links.length; i++) { let link = links[i]; if (link.textContent == 'remove') { link.click(); } } let links=docu
let links = document.querySelectorAll('a b');
for (let i = 0; i < links.length; i++) {
let link = links[i];
if (link.textContent == 'remove') {
link.click();
}
}
let links=document.querySelectorAll('ab');
for(设i=0;i
在某个网页中,网页上名为“remove”但在DOM中显示为“remove”(不是大写的R)的链接
一开始我不知道DOM是这样的,也不明白为什么代码不起作用
很高兴,我感觉它在DOM中是不同的,事实上我看到我是对的,当我在代码中将它从if(link.textContent='remove')
更改为if(link.textContent='remove')
时,代码工作正常
作为一个初学者,我问这个问题只是出于好奇(因为我谦虚地意识到,这样的网页DOM差异可能会发生): 在vanilla JS中有没有办法使textContent检查不区分大小写
我相信答案会包括正则表达式,但我必须参加任何正则表达式课程(应该很快就会发生),目前我自己无法回答。您可以使用javscript函数将文本更改为小写。 在这里,我只是创建一个变量名text,然后在if条件下使用toLowerCase()函数。谢谢
var text = link.textContent;
if (text.toLowerCase() == 'remove') {
text.click();
}
编辑:代码缩进我会将您发送到此页面: 简而言之,您可以使用toUpperCase()或toLowerCase()函数,简单地比较两个字符串的上(或下)版本,以检查它们是否为ignoreCaseEqual,如下所述:
string1.toUpperCase() === string2.toUpperCase();
string1.toLowerCase() === string2.toLowerCase();
在您的情况下,只需使用:
if (link.textContent.toLowerCase() == 'remove') {
// since remove is already lowercase
// do stuff
}
为什么不使用小写的函数呢
let links = document.querySelectorAll('a b');
for (let i = 0; i < links.length; i++) {
let link = links[i];
if (link.textContent.toLowerCase() == 'remove') {
link.click();
}
}
let links=document.querySelectorAll('ab');
for(设i=0;i
它是否比较删除、删除甚至删除,都无关紧要