如何使用jQuery在最后一个div之前插入一个新的div?

时间:2011-12-22 11:35:49

标签: jquery

<div id="one">test test</div>
<div id="two">test test</div>
<div id="three">test test</div>
<div id="four">test test</div>
<div id="five">test test</div>

如果我想在div“4”和“5”之间用jQuery动态插入div,我该如何去做呢?

我尝试了这个,但它不起作用:

$("<div id='four-point-five'></div>").before("#five");

8 个答案:

答案 0 :(得分:5)

反过来说:

$("#five").before("<div id='four-point-five'></div>");

答案 1 :(得分:3)

如果你想这样做,你应该使用insertBefore();

$("<div id='four-point-five'></div>").insertBefore("#five");

或者,你可以转换元素;

$("#five").before("<div id='four-point-five'></div>");

如果您使用的是通用解决方案,则可能会发现:last:last-child选择器很有趣(取决于HTML的其余部分)

$('div:last').before("<div id='four-point-five'></div>");

答案 2 :(得分:2)

试试这个:

$("<div id='four-point-five'></div>").insertAfter("#four");

答案 3 :(得分:2)

$("#five").before("<div id='four-point-five'></div>")

答案 4 :(得分:2)

试试这个:

$("<div id='four-point-five'></div>").insertBefore("#five");

// OR

$("#five").before("<div id='four-point-five'></div>");

问题是你没有阅读doco .before()方法希望现有元素作为$()选择器,新内容作为参数。 .insertBefore()方法的作用相反。

答案 5 :(得分:2)

使用此

>  $("#five").before( " <div id='four-point-five'> </div> " );

答案 6 :(得分:1)

请试试这个:

$("#five").before("<div id='four-point-five'></div>");

答案 7 :(得分:0)

试试这个:http://jsfiddle.net/gNQwR/

$("<div>").attr('id', 'four-point-five').text('test 4.5').insertBefore("#five");