【发布时间】:2014-10-06 12:50:39
【问题描述】:
我想将一个 html 字符串解析为 jQuery 对象,然后通过 ID 找到一个元素。
我尝试了以下 3 种方法,但只有最后一种有效。我不知道为什么其他的不起作用?
var html = "<html><body><div id='main'></div></body></html>";
// Not work, return 0
console.log($(html).find('#main').length);
// Not work, return 0
console.log($($.parseHTML(html)).find('#main').length);
// Works, return 1
console.log($("<html/>").html(html).find('#main').length);
【问题讨论】:
-
$(html) == <div id="main"></div>这就是为什么你不能使用.find()来找到它。 -
您也可以将字符串视为 XML
console.log($($.parseXML(html)).find('#main').length),但最好避免不必要的包装。 -
我很困惑......在我看来,@YuryTarabanko 在这里给出了正确的答案。有类似的问题,使用
parseXML代替 pfparseHTML有帮助。
标签: javascript jquery