2017-07-05 11 views
1

方法を追加API文書が宣言さ:jQueryのは、複数の親要素は同一の要素を追加

この方法で選択した要素が他の場所でDOM内の単一の位置 に挿入される場合、それは(ターゲットに移動されクローンされていない)。 重要:複数のターゲット要素がある場合は、 を除いて、各ターゲットに対して複製された の複製要素が作成されます。コード上記のよう

var div = $("<div></div>").addClass("divCells"), 
    tdName = $("<td></td>").addClass("tdName"), 
    tdAge = $("<td></td>").addClass("tdAge"), 
    tdGender = $("<td></td>").addClass("tdGender"), 
    tds = [tdName, tdAge, tdGender], 
    tr = $("<tr></tr>"), 
    tbody = $("#peopleList tbody"); 
    tds.append(div); 
    tr.append(tdName).append(tdAge).append(tdTimetdGenderstamp); 
    tbody.append(tr); 

表し、私はそれらのすべてにdiv要素を追加することができるように、アレイの中で3つのTDSを含めるようにしようと、それが機能していません。

+0

配列の各要素にdivを追加してループします。 – guradio

+0

'tds'は' jquery'オブジェクトではない配列です。 'append'は動作しません –

+0

コンソールにjsエラーがありますか? –

答えて

1

jQuery .appendをバニラJavaScript配列に使用しようとしています。 .appendは、配列などのJavaScriptタイプではなく、jQuery/DOM要素でのみ機能します。

tds配列にはjQuery/DOM要素が含まれていますが、配列自体は試行錯誤的に「追加可能」ではありません。

配列を使用すると、配列を繰り返し処理し、その中の各要素にdivを手動で追加する必要があります。さらに、3つの別々の要素に個別に追加するので(つまり、反復ごとに1つ、同時に3つではない)、手作業で.clone divにする必要があります。そうでなければ、1つのdivを1に追加します配列内のアイテム、次にを2番目の同じdivに移動し、3番目に移動します。だから... ...

// tds.append(div); // Change this to... 
for (var i=0; i< tds.length; i++) { 
    tds[i].append(div.clone()) 
} 

OR ...

あなたは完全にアレイを使用して忘れる、とjQueryのクローンを持っているし、(元の質問が暗示として)あなたのためのdivを追加することができます。ここには...

+0

$。クローン()は私のために働く、ありがとう。 –

関連する問題