Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅当页面包含特定类时才执行javascript操作_Javascript_Html - Fatal编程技术网

仅当页面包含特定类时才执行javascript操作

仅当页面包含特定类时才执行javascript操作,javascript,html,Javascript,Html,我试图编写一些代码,这些代码要么仅在该页面上存在类时运行,要么使用else if,稍微更改任何其他页面上JS代码的css。我所写的代码显然是错误的,但我相信它突出了我正在努力做的事情。 本质上,如果body标记包含一个single-st_-tours类,我想查找一个包含lh1em类的元素并执行一个JavaScript操作。如果它不包含该类,我希望执行相同的操作,但稍微更改内联css。由于我的代码是现在,我得到了错误的显示。这是我的密码: let doubleMessage=document.g

我试图编写一些代码,这些代码要么仅在该页面上存在类时运行,要么使用else if,稍微更改任何其他页面上JS代码的css。我所写的代码显然是错误的,但我相信它突出了我正在努力做的事情。
本质上,如果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这样的东西。