4
$html = $("<!-- comment --> <p>text</p>");

そのようなjQueryコレクションを作成します

$( [the comment], [text node], p )

段落のみにアクセスするにはどうすればよいですか?.find( "p")は空のコレクションを返します

そして、追加のポイントについては、

$html = $("<p>text</p>");

そのようなjQueryコレクションを作成します

$( p )

コメントがあるかどうかに関係なく機能する、pだけを取得するためのフェイルセーフな方法はありますか?

4

4 に答える 4

7

最も簡単な方法は、すべての要素に一致filterするユニバーサルセレクターを使用することです。*

$html = $("<!-- comment --> <p>text</p>").filter('*');
于 2011-10-19T10:19:06.357 に答える
1
var p = $html.filter(function() { return this.nodeType === 1; });

jsFiddle

于 2011-10-19T10:18:40.693 に答える
0

このデモをお試しください。たぶん、これはあなたがそれを使うつもりの正確な方法ではないかもしれませんが、あなたは要点を理解します。

<div class="text">
    <!-- comment -->
    <p>text</p>
</div>

var html = $('.text').html();
html = $.trim(html.replace(/<!--(.*?)-->/ig, ''));
alert(html);
于 2011-10-19T10:26:25.957 に答える
0

$html = $("<!-- comment --> <p>text</p>");1つの方法は、を使用してpタグを取得できるように、インデックスで取得することです$($html[2])

また

$html = $("<!-- comment --> <p>text</p>");
$target = new Object();
for(key in $html){
    if(typeof $html[key] ===  'object' && $html[key].localName === 'p')
        $target = $html[key];
}
于 2011-10-19T10:29:14.443 に答える