2011-02-03 4 views
0

これは私のhtmljquery:divを除外するにはどうすればいいですか?

loaded-data = " 
<div id='content'> 
<div id='1'></div> 
<div id='2'></div> 
<div id='3'></div> 
</div>" 


var myHtml = $(data).find('#content').html(); // i get all 3 divs 

が何であるかを私はdiv要素3をエクスクルードしたい場合は?

+0

私の質問はもっと良いと思います:どうすれば最初の2 divs htmlだけを選択できますか? – Francesco

+0

質問のコードが矛盾しています。検証するために、 'loaded-data'は文字列ですか?そして、 'data'変数は同じ文字列を参照していますか? – user113716

+1

また、最後の 'div'を除外したHTML文字列を取得することを明確にしてください。あなたの意図は明確ではありません。 – user113716

答えて

0

まず、ID番号を数字で開始することをお勧めします。それは私の初期のVB6プログラミングの日のホールドオーバーかもしれませんが、私はいつもitem1item2のようなIDを作っています。つまり、最初の2つのdivを選択したい場合は、

$('#content #item1, #content #item2') 
0

のようにしてください。内側のdivのIDがわからない場合は、適切な解決方法が常に有効です。さらに組み込みの場合は、childrenメソッドでクラスを指定することもできます。

$('#content').children('div').slice(0, 2); 
+0

-1それは答えていない "除外id = 3" – Francesco

0

あなたの質問は、あなたが文字列について話していることを暗示しているようです。その場合は、slice()(docs)メソッドの最後のものを参照して、一致するセットから不要なものをchildren()(docs)remove()(docs)に選択します。

end()(docs)メソッドを使用して、最初の要素に戻ります。

例:http://jsfiddle.net/vhsA5/

var myHtml = $(data).children().slice(-1).remove().end().end().html(); 

EDIT:私はあなたが投稿HTML文字列はHTMLのより大きなビットの小さい一部である場合、あなたはおそらく必要があることに注意したいです.children()の前に.find('#content')を追加してください。

-1

多分? var myHtml = $(data).contents()。find( "#content")。not( "#3").html();

関連する問題