0
$('#typo').remove().css('display', 'none').prependTo('#typo');

remove() はdomから要素を奪うと思ったので、この関数の後、オブジェクトはありません。したがって、なぜcssを変更し、prependTo関数は何をしますか?

4

5 に答える 5

1

これは、id が重複していない限り意味がありません。おそらくtypoin #typoin prepend セレクター部分があります。

要素を削除するだけで、チェーンを使用してDOMにない場合でも要素を返し、cssを適用して非表示にし、別の要素の前に追加します。

だったら:

$('#typo').remove().css('display', 'none').prependTo('#typo1');

要素内に id の div が表示されますが、表示されtypo1ません。

スニペット 1 :

目に見えるタイプミスの中に目に見えないタイプミスを追加します (これは、HTML で重複した ID を使用すると無効になります)

<div id="typo">typo</div>
<div id="typo">typo1</div>

$('#typo').remove().css('display', 'none').prependTo('#typo');

スニペット 2 :

目に見えるtypo1の中に目に見えないtypoを追加します

<div id="typo">typo</div>
<div id="typo1">typo1</div>

$('#typo').remove().css('display', 'none').prependTo('#typo1');

したがって、どちらも当てはまりません。

に置き換えるだけです

 $('#typo').remove() 

そしてファイルサイズを減らします:)

于 2013-06-18T20:22:25.760 に答える
1

これをどうするかは次のとおりです。

$('#typo').remove()       // removes the #typo element from the DOM
.css('display', 'none')   // sets its display style to 'none'
.prependTo('#typo');      // and appends it BACK as first child of #typo
于 2013-06-18T20:21:20.087 に答える
0

私はこれでテストしました:http://jsfiddle.net/8zZ6j/1/

<div>blah <span id="typo">typo</span> blah <span id="typo">typo2</span>
</div>

これは次のようになります。

<div>blah  blah <span id="typo"><span id="typo" style="display: none;">typo</span>typo2</span></div>

typoidを持つ要素を積み上げることが目的のようです

于 2013-06-18T20:24:53.710 に答える