此代码不起作用..
alert($('<body><div id="tmp">111</div></body>').find("#tmp").text());
但这有效
alert($('<div><div id="tmp">111</div></div>').find("#tmp").text());
为什么?感谢..
答案 0 :(得分:3)
看起来html解析正在展开body
元素,因此jQuery对象将tmp
元素作为根元素而不是body
元素,因此您的{{1 }}方法不起作用,您需要使用find
filter
或在这种情况下
console.log($('<body><div id="tmp">111</div></body>').filter("#tmp").text());
答案 1 :(得分:1)
您的$('.....
代码不是选择器。它正在尝试从您的HTML中创建一个新的DOM元素。
我猜它不适用于&lt; body&gt;标签,因为每页只能有一个正文标记。