假设我有
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/