在HTML字符串中查找元素

我想我有

var testHTML = "
";

我希望得到高于div作为JQuery对象来操纵它。 我尝试找到它:

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

与:

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

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

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

 $("#demo_div") 

但我不能在我的情况下这样做 – 我需要从普通的HTML中获取它,这将被分配给一些变量,就像我在testHTML var中的例子一样

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

 var testHTML = "
";

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

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

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

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

你可以使用javascript本身的.search()函数。

 testHTML.search('demo_div')>-1