在HTML字符串中查找元素

时间:2012-11-16 09:03:55

标签: jquery dom

我们假设我有

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

我希望将 div 作为JQuery对象来操作它。我试着找到它:

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

和:

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

两个都没有运气。我有空的找到变量。我做错了什么?

P.S。是的我知道我可以直接访问 div

$("#demo_div") 

但在我的情况下我不能这样做 - 我需要从纯HTML中获取它,这将被分配给某个变量,就像在我的示例中使用 testHTML var。

更新 即使我没有root div 元素,例如:

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

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

2 个答案:

答案 0 :(得分:49)

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

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

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

答案 1 :(得分:0)

您可以使用javascript本身的.search()功能。

testHTML.search('demo_div')>-1