jquery - 在 HTML 字符串中查找元素

标签 jquery dom

假设我有

var testHTML = "<div id='demo_div'></div>";

我想将 div 作为 JQuery 对象来对其进行操作。我尝试通过以下方式找到它:

 var found = $(testHTML).find("#demo_div");

并与:

 var found = $(testHTML).find("div");

两者都没有运气。我有空的 found 变量。我做错了什么?

P.S. 是的,我知道我可以通过

直接访问我的 div
$("#demo_div") 

但在我的例子中我无法做到这一点 - 我需要从纯 HTML 中获取它,并将其分配给某个变量,就像我的示例中使用 testHTML var 一样。

更新: 即使我没有像这样的根 div 元素:

var testHTML = "<html><div id='demo_div'></div></html>";

我无法使用 find 来导航 div 元素。

最佳答案

问题在于您的 div 是集合中的根元素,因此您需要使用 .filter()而不是.find() (仅查看​​后代元素):

var found = $(testHTML).filter("#demo_div");

我假设您的实际 HTML 字符串比问题中的字符串更复杂,否则您不需要执行 $(testHTML) 之外的任何操作,并且您将拥有一个 jQuery 对象包含该单个元素。

关于jquery - 在 HTML 字符串中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413399/

相关文章:

javascript - getelementsbyname 添加事件监听器

javascript - 在 IE 中 Javascript 的执行速度比 Firefox、Safari 和 Chrome 慢

javascript - 用于设置对象样式的 jQuery 插件

JQuery - 选择除最后一个列表之外的所有列表(从多个列表中。)

javascript - 多个 Canvas 层和鼠标移动

java - 将项目保存到 XML 文件中

javascript - jQuery 点击事件目标填充

javascript - 在新插入的元素上应用 javascript 库

javascript - 递归删除javascript中的所有嵌套节点

javascript - dragstop 我做错了什么?