在 HTML 字符串中查找元素

Find element within HTML string

是否可以在 HTML 的字符串中而不是 DOM 的字符串中找到元素?例如,

var html = "<div><span class='find-me'></span></div>"

$("html").find(".find-me").remove();

是的,但它容易出错且不可靠。考虑 <div><span class='find-me'>Devious web designer writes class='find-me' inside a text segment</span></div> - 诚然是做作的,但恕我直言。

您正在寻找半结构化内容中的结构信息。您为什么要通过搜索 _un_structured 内容来让您的生活更艰难?

你很接近,把你的变量包装在$()

var $div = $(html);
$div.find(".find-me").remove();

如果你想return到字符串可以这样做:

var htmlString = $('<div>').append($div).html();

如果 HTML 是一个字符串,您可以使用 javascript 将其视为一个字符串,使用替换函数,例如:

var html = "<div><span class='find-me'></span></div>"
html = html.replace("find-me", ""); 
alert(html)

在这种情况下,替换后,html 将是:

<div><span class=''></span></div>

这是Fiddle

您可以使用 DOMParser() 解析字符串;

 var html = "<div><span class='find-me'></span></div>"
 dom_doc = new DOMParser().parseFromString(html, "text/xml");
 $(dom_doc).find('#foo').remove();