Javascript 如何使用outerHTML结果从html中查找元素?

Javascript 如何使用outerHTML结果从html中查找元素?,javascript,jquery,html,Javascript,Jquery,Html,我想从带有outerHTML的html中找到一个元素。我不想找到id或类为的元素,我只将html作为字符串,我想要一个算法,将原始html作为字符串,并相应地找到它 请注意我在html上添加了一个新类的代码。但不是 只想添加新类,只想找到元素,这是我的 主要目标 页面标题 函数findelement(){ var元素=document.getElementById(“nestedh3”).outerHTML; 搜索元素(元素) } 函数searchelement(elementhtml){ /

我想从带有outerHTML的html中找到一个元素。我不想找到id或类为的元素,我只将html作为字符串,我想要一个算法,将原始html作为字符串,并相应地找到它

请注意我在html上添加了一个新类的代码。但不是 只想添加新类,只想找到元素,这是我的 主要目标


页面标题
函数findelement(){
var元素=document.getElementById(“nestedh3”).outerHTML;
搜索元素(元素)
}
函数searchelement(elementhtml){
//在这个html上搜索整个内容以查找该元素
元素=
//
element.classList.add(“mystyle”);
}
mystyle先生{
宽度:100%;
填充:25px;
背景颜色:珊瑚;
颜色:白色;
字体大小:25px;
框大小:边框框;
}
这是一个标题
这是一段

嵌套h3 这是一个嵌套段落

嵌套h2 嵌套h3 查找元素 这是一个嵌套段落


您可以尝试以下方法:

function searchelement(elementhtml){
 [...document.querySelectorAll("*")].forEach((ele)=>{
   if(ele.outerHTML == elementhtml){
     ele.classList.add("mystyle");
   }
 });
}

你好,Ritesh,非常感谢你花宝贵的时间来解决我的问题。我也认为它应该能正常工作,但它不能正常工作可能是因为我的错误实现。这是我的代码函数searchelement(elementhtml){[document.queryselectoral(*”).forEach((ele)=>{if(ele.outerHTML==elementhtml){ele.classList.add(“mystyle”);}}}}}}请给我一些建议,因为从forEach我只得到一个元素。也许我们需要实现某种递归函数。谢谢你的代码真的很棒,只是做了一个小小的修改,它工作得很好。@arn48只要读一下这个答案,你就会明白一切
function searchelement(elementhtml){
 [...document.querySelectorAll("*")].forEach((ele)=>{
   if(ele.outerHTML == elementhtml){
     ele.classList.add("mystyle");
   }
 });
}