检查页面是否包含文本,如果为true,则使用javascript将类添加到父类

检查页面是否包含文本,如果为true,则使用javascript将类添加到父类,javascript,Javascript,我正在学习javascript并试图实现这段代码,我搜索了一些类似的东西并尝试了一系列解决方案,它们对我不起作用 如果页面包含特定文本,我将尝试使用javascript隐藏或显示div 我们需要显示以下嵌入式视频 <div class="vimeovideo"> <iframe src="{{ variant.metafields["global"]["rosecolorurl"] }}" frameborder="0" allow="autoplay; fullscreen

我正在学习javascript并试图实现这段代码,我搜索了一些类似的东西并尝试了一系列解决方案,它们对我不起作用

如果页面包含特定文本,我将尝试使用javascript隐藏或显示div

我们需要显示以下嵌入式视频

<div class="vimeovideo">
 <iframe src="{{ variant.metafields["global"]["rosecolorurl"] }}" frameborder="0" allow="autoplay; fullscreen" allowfullscreen="" data-ready="true"></iframe>
</div>

.vimeovideo {
display:none;
}

.show {
display: block !important;
}

.vimeovideo{
显示:无;
}
.表演{
显示:块!重要;
}
示例:若页面包含“100公里”之类的文本,那个么它应该将“show”类添加到“vimeovideo”div中

我猜javascript代码需要一些时间间隔来允许页面完全加载,然后检查文本

页面也有选项,当用户单击它们时,它会使用ajax重定向到不同的url

谢谢你的帮助

从这一点也可以看出:

试试这个:


100公里
if(document.body.innerText.includes(“100公里”)){
控制台日志(“100公里”)
};

当页面完全加载事件侦听器时,可以调用函数

window.addEventListener("load", () => {
//Your code here
});
您可以在正文中搜索,但在
body
中搜索将是一个错误的选择。你应该更具体地说明你的搜索范围

let b = document.getElementsByTagName('body')[0].innerHTML;
b.includes("100 Kilometers");
然后您可以像这样添加类

document.querySelector(".vimeovideo").classList.add("show");

如果你在页面加载时间上遇到困难,那么尝试使用listener进行窗口加载谢谢,那么当“vimeovideo”与该文本匹配时,如何将类添加到“vimeovideo”中?我不知道该怎么做it@Karthik我刚刚更新了我的答案。您能检查一下吗?为了测试,我尝试了以下方法:$(window).addEventListener(“load”,()=>{let b=document.getElementsByTagName('product_uForm-container')[0].innerHTML;b.includes(“18K玫瑰金”);document.querySelector('.product_uContent-header”).classList.add(“redbg”);但是它不起作用,这个窗口工作了。addEventListener(“load”,()=>{let b=document.getElementsByTagName('body')[0]。innerHTML;b.includes(“18K玫瑰金”);document.querySelector(“.product_uContent-header”)。classList.add(“redbg”);};谢谢,那么当类与该文本匹配时,如何将其添加到“vimeovideo”中呢?我不知道如何进行测试,我试过这样做:if(document.body.innerText.includes(“18K玫瑰金”){$('.product_ucontent-header').addClass('redbg');};但我不明白,在条件设置之后,如果您必须首先选择元素“vimeovideo”,然后将类“redbg”添加到该元素中,那么它就不起作用了。为了选择一个元素,您可以使用它的ID,但由于您没有ID,所以在尝试使用类名进行选择时,您只有“vimeovideo”的类名(这是您的情况),结果将是一个包含该类名的元素数组,而不仅仅是一个元素:if(document.body.innerText.includes(“18K Rose Gold”)){document.getElementsByClassName(“vimeovideo”)[0].classList.add(“redbg”);}。请注意[0]因为我们只知道一个元素的结果