2010-11-22 8 views
6

要素$(this)を追加するjQueryメソッドがあります。

私のコードでは、しかし、これは何もしているように見えるん

$("#actions ul").append($(this)); 

です。ライン

.append($(this).html()) 

を使用することで作業を行い、それだけで$(この)(DIV)ではない全要素(LI)の子をつかみます。

私は恐らく何か馬鹿げたことをしています、うまくいけば、誰かが私にこれを指摘することができます。

+0

ようこそスタックオーバーフロー!より多くのコードを見る必要があります。 $(ここ)はどこから来たのですか?クリックイベント、マウスオーバー?どこ? –

答えて

7

thisが参照する正確に何を知ることがなければ、私は$(this)に動作していないために$(this).html()のために考えることができる唯一の理由は、前者の方法は$(this)要素を移動する追加のに対し、HTMLコードから新しい要素を作成することです。

以下はあなたの問題を修正かどうかを確認してください:

$("#actions ul").append($(this).clone()); 
+0

ありがとう、それは私が行方不明だった.clone()関数でした –

0

$(this)が何を指しているのかはっきりしませんが、要素の子要素であれば、$(this).parent()は親要素を取得する必要があります。

+0

append()は文字列、要素、またはjQueryオブジェクトを受け入れるので、.append($(this).parent())で十分です。さらに、jQueryオブジェクトを追加すると、$(this).parent()。html()の場合に要素を複製するのではなく、要素を移動します。 –

+0

@ box9 - 訂正してくれてありがとう、私はappend()についてそれを認識しませんでした。私はそれを正確に保つために私の答えからその部分を削除しました。 – mikel

0

this<li>の代わりに<div>というセレクタに設定されているようです。セレクタを変更するか、miket2eのように.parent()を使用してください。注:the .append functionは、HTML文字列またはをjQueryオブジェクトに使用できるので、.html()を使用する必要はありません。

thisの値を投稿すると、より具体的な回答が得られます。

0

実はあなたは、これが全体の要素をつかむだろう、appendToを使用したいです。

$(this).appendTo("#actions ul"); 
関連する問題