如何将子项添加到一行中的div中

时间:2012-08-23 12:24:21

标签: javascript jquery html dom

我希望首先用div替换一个元素,然后div将通过append()生成一些子元素:

$(el).html('<div></div>').append('<span></span>').append('<span></span>')

不能给我我想要的东西,因为div和跨度是兄弟姐妹。

我也尝试过:

$(el).replaceWith('<div></div>').append('<span></span>').append('<span></span>')

没有成功。此行不适用于AngularJS(指令)。

是否有一种简单的方法可以跨越div的孩子?

更新:

这是我最终使用的:

$(element)
  .html($('<div class="property-filter"></div>')
  .append(labelElm)
  .append(amountElm)
  .append(sliderElm));

因为它很容易理解(对我而言)。

感谢所有解决方案!

6 个答案:

答案 0 :(得分:5)

您的代码无效,因为$(el).html('<div></div>')会返回$(el)。这是方法链。

$(el).html($('<div></div>').append('<span></span>').append('<span></span>'));​

或者

$('<div></div>').append('<span></span>').append('<span></span>').appendTo(el);

答案 1 :(得分:2)

为什么不简单地这样做?

$(el).html('<div><span></span><span></span></div>')

答案 2 :(得分:1)

试试这个

var div= $('<div></div>')
var mm= $('<span>b</span>')
var combnd= div.append(mm)
var fresult=combnd.append(mm)
fresult.appendTo(el)​

答案 3 :(得分:1)

$(el).html($('<div />').append('<span></span>').append('<span></span>'))

答案 4 :(得分:1)

使用此

var div = $('<div></div>').append('<span></span>').append('<span></span>');

$(el).parent().html(div);​

答案 5 :(得分:1)

这取代了$(el)的内容,就像你问的那样:

$(el).html('<span />').append('<span />').wrapInner('<div />');​