将内容插入DOM

时间:2014-08-14 06:25:16

标签: javascript jquery

我知道jQuery具有append()功能,允许您将内容放在元素的末尾,但有没有办法将其插入顶部或中间的某个位置,其位置指定为参数β

这就是我一直在做的事情:

var newContent = "<div>Top</div>";
var content = $('#myDiv').html();
$('#myDiv').html(newContent + content);

我想知道是否有一个函数允许你插入一个元素的顶部和/或是否有一个允许你将内容插入某个位置的函数,你可以传入一个子元素并且内容将被放置在该元素之后/之前,即使它可能不在元素的顶部或底部。

谢谢,任何帮助或指导表示赞赏。

5 个答案:

答案 0 :(得分:4)

您有以下方法:

append(); // Appends to the element
prepend(); // prepends to the element
insertAfter(); // inserts a sibling after the element
insertBefore(); // inserts a sibling before the element

在您的情况下,您想要使用prepend()

var newContent = "<div>Top</div>";
$('#myDiv').prepend(newContent);

答案 1 :(得分:1)

是的! insertBeforebefore都允许您在元素之前插入,根据您的偏好使用略有不同的语法。

insertBefore

$("<div>Top</div>" ).insertBefore( "#myDiv" );

before

$( "#myDiv" ).before( "<div>Top</div>" );

答案 2 :(得分:1)

jQuery内置了before()after()等功能。

示例:

$('#your-element').after('<span>I am after that element with the ID #your-element</span>');

此外,还有prepend()这样的功能可以将元素添加为子元素但位于父元素的开头,并append()将元素添加到父元素的最后一个子元素之后。

示例:

$('#your-element').prepend('<span>Im the first element in the #your-element element.</span>');

答案 3 :(得分:0)

您只需使用.prepend()

即可
  

将参数指定的内容插入匹配元素集中每个元素的开头。

$('#myDiv').prepend(newContent)

答案 4 :(得分:0)

使用prependTo()函数在<selector>

中添加元素
var newContent = "<div>Top</div>";
$(newContent).prependTo('#myDiv')