jquery:在一组div之后添加html

时间:2010-05-11 12:38:47

标签: jquery

我有这样的事情: ...

<div id="d120" >content</div>
<div id="d123" >content</div>
<div id="d112" >content</div>
<div id="d145" >content</div>
<div id="d134" >content</div>
//Insert here hello world

<div id="bla" >asd</div>
<div id="footer" >asd</div>

任何人都知道如何在所有id为d + number

的div之后插入html

5 个答案:

答案 0 :(得分:3)

如果格式在这些div之间没有任何内容,#bla就像你的例子一样,这里使用.before()是一种更安全的方法(因为div[id^=d]也会匹配<div id="doodlesticks"> )。

$("#bla").before("<b>Hi There</b>");

更新:既然你说可以给他们一个课程,我会这样做,所以给内容div class="content"并使用这个jQuery:

$(".content:last").after("<b>Hi There</b>");

答案 1 :(得分:3)

这将安全地测试id以数字结尾的元素,而不是任何以“d”开头的id。

$('div[id]').filter(function() {
    return /\d+$/.test($(this).attr('id'));
}).last().after(...my html...);

答案 2 :(得分:1)

$("div[id^=d]:last").after("some html");

或:

$("some html").insertAfter("div[id^=d]:last");

答案 3 :(得分:0)

添加另一个带有id的div,然后只需更改该元素的html $('#id')。html('html');

除非那会破坏你的页面布局?

答案 4 :(得分:0)

试试这个:

$(function(){
  $('div[id^="d"]:last').after('<div>Hello World</div>');
});

注意:正如Nick Craver建议的那样,这会匹配idd开头的任何div,但我认为这是你必须根据你的html采用的标记。