$html = $("<!-- comment --> <p>text</p>");
创建一个像这样的jQuery集合
$( [the comment], [text node], p )
如何才能访问该段落? .find(“p”)返回一个空集合
而且,对于额外的积分,
$html = $("<p>text</p>");
创建一个像这样的jQuery集合
$( p )
是否有一种失败的安全方式来获取p,只有p,无论注释是否存在都有效?
答案 0 :(得分:7)
最简单的方法是使用filter
和通用选择器*
,它匹配所有元素。
$html = $("<!-- comment --> <p>text</p>").filter('*');
答案 1 :(得分:1)
var p = $html.filter(function() { return this.nodeType === 1; });
答案 2 :(得分:0)
试试这个demo。也许这并不是你将如何使用它,但你明白了。
<div class="text">
<!-- comment -->
<p>text</p>
</div>
var html = $('.text').html();
html = $.trim(html.replace(/<!--(.*?)-->/ig, ''));
alert(html);
答案 3 :(得分:0)
一种方法是按$html = $("<!-- comment --> <p>text</p>");
中的索引获取,您可以使用$($html[2])
获取p标记。
OR
$html = $("<!-- comment --> <p>text</p>");
$target = new Object();
for(key in $html){
if(typeof $html[key] === 'object' && $html[key].localName === 'p')
$target = $html[key];
}