仅当页面包含特定类时才执行javascript操作
我试图编写一些代码,这些代码要么仅在该页面上存在类时运行,要么使用else if,稍微更改任何其他页面上JS代码的css。我所写的代码显然是错误的,但我相信它突出了我正在努力做的事情。仅当页面包含特定类时才执行javascript操作,javascript,html,Javascript,Html,我试图编写一些代码,这些代码要么仅在该页面上存在类时运行,要么使用else if,稍微更改任何其他页面上JS代码的css。我所写的代码显然是错误的,但我相信它突出了我正在努力做的事情。 本质上,如果body标记包含一个single-st_-tours类,我想查找一个包含lh1em类的元素并执行一个JavaScript操作。如果它不包含该类,我希望执行相同的操作,但稍微更改内联css。由于我的代码是现在,我得到了错误的显示。这是我的密码: let doubleMessage=document.g
本质上,如果body标记包含一个
single
-st_-tours类,我想查找一个包含lh1em
类的元素并执行一个JavaScript操作。如果它不包含该类,我希望执行相同的操作,但稍微更改内联css。由于我的代码是现在,我得到了错误的显示。这是我的密码:
let doubleMessage=document.getElementsByClassName('lh1em');
让ifClassExists=document.getElementsByClassName('single-st_-tours');
如果(ifClassExists==='single-st_tours'){
Array.from(doubleMessage).forEach(函数(itemMessage){
itemMessage.insertAdjacentHTML(
"追尾",,
“
基于双人入住的价格”
);
});
}否则{
Array.from(doubleMessage).forEach(函数(itemMessage){
itemMessage.insertAdjacentHTML(
"追尾",,
“
基于双人入住的价格”
);
});
}
从…起
$3,650.00
您的问题在于检查的输出并将其与字符串进行比较。它实际上是一个元素列表,也称为HTML集合,它可能是空的,也可能不是空的
改为检查列表是否至少有1个元素
let doubleMessage=document.getElementsByClassName('lh1em');
让ifClassExists=document.getElementsByClassName('single-st_-tours');
//这是你的解决办法
如果(ifClassExists.length>0){
...
Thank you@The Fool.每个页面的主体都包含大量的类,但我想针对的那个页面也包含single-st_tours类。因此,我的.length>0不是永远都是真的吗?在这种情况下,我如何评估是否恰好存在一个类?谢谢你的时间。你不是只提取我需要的元素吗你是对的。我很困惑,因为我实现了你的解决方案,但仍然得到了错误的结果。好的,很酷,也就是说,如果你真的想知道1是否存在,可以使用getElementByClassName
(单数)或者改为querySelector
。这样性能会更好一些。我很确定没有getElementByClassName这样的东西。