这段代码的工作..
alert($('<body><div id="tmp">111</div></body>').find("#tmp").text());
但这是可行的
alert($('<div><div id="tmp">111</div></div>').find("#tmp").text());
为什么会这样呢?谢谢..
发布于 2013-11-25 11:50:56
看起来html解析器正在解开body
元素,因此jQuery对象将tmp
元素作为根元素,而不是body
元素,因此find
方法将无法工作您需要使用filter
console.log($('<body><div id="tmp">111</div></body>').filter("#tmp").text());
或者在这种情况下
console.log($('<body><div id="tmp">111</div></body>').text());
发布于 2013-11-25 11:50:03
您的$('.....
代码不是选择器。它试图从您的HTML创建一个新的DOM元素。
我猜它不适用于标签,因为每个页面只能有一个body标签。
https://stackoverflow.com/questions/20184419
复制相似问题