20

假设我有

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

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

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

与:

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

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

PS是的,我知道我可以直接访问我的div

$("#demo_div") 

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

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

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

我不能使用find来导航div元素。

4

2 回答 2

50

问题是你div是集合中的根元素,所以你需要使用.filter()代替.find()(它只查看后代元素):

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

我假设你的实际 HTML 字符串比问题中的更复杂,否则你不需要做任何事情$(testHTML),你将拥有一个包含该单个元素的 jQuery 对象。

于 2012-11-16T09:05:26.427 回答
1

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

testHTML.search('demo_div')>-1
于 2017-09-07T04:59:41.730 回答