使用jQuery作为兄弟而不是子元素追加

时间:2014-05-29 21:36:06

标签: javascript jquery html css

我似乎无法找到我正在寻找的功能。我需要将一些DOM元素作为兄弟节点附加到断开连接的节点。

看起来非常简单,根据jQuery文档,我应该可以使用.after()或.add()执行此操作,但不能使用单词:

var $set = $('<div class="parent"></div>');
    $set.add('<div class="child"></div>');
    $set.add('<div class="child"></div>');
    $set.add('<div class="child"></div>');
$('body').append($set);

http://jsfiddle.net/kh9Uj/17/http://jsfiddle.net/kh9Uj/19/

如果我使用.add()链接它们,它会起作用:

$('<div class="parent"></div>')
    .add('<div class="child"></div>')
    .add('<div class="child"></div>')
    .add('<div class="child"></div>')
.appendTo('body');

http://jsfiddle.net/kh9Uj/23/

但不是.after(),在我的应用程序中,我没有选择链接它们。我怎么能这样做?

修改了类/ ID问题。

1 个答案:

答案 0 :(得分:5)

set不会更新变量

var $set = $('<div id="parent">0</div>');
$set = $set.add('<div id="child1">1</div>');
$set = $set.add('<div id="child2">2</div>');
$set = $set.add('<div id="child3">3</div>');
$('body').append($set);

链接有效,因为您要将它们添加到同一个对象中。

var $set = $('<div id="parent">0</div>')          //first element
               .add('<div id="child1">1</div>')   //second element in object
               .add('<div id="child2">2</div>')   //third
               .add('<div id="child3">3</div>');  //fourth
$('body').append($set);

但是添加不是将其添加到父级。它将它添加为&#34; 兄弟姐妹&#34;当你追加它。

<parent />
<child1 />
<child2 />
<child3 />

如果你想要&#34;孩子&#34;作为父母的孩子的元素&#34;你需要使用追加。

var $set = $('<div id="parent">0</div>');
$set.append('<div id="child1">1</div>');
$set.append('<div id="child2">2</div>');
$set.append('<div id="child3">3</div>');
$('body').append($set);

导致

<parent>
    <child1 />
    <child2 />
    <child3 />
</parent>