我知道jQuery具有append()功能,允许您将内容放在元素的末尾,但有没有办法将其插入顶部或中间的某个位置,其位置指定为参数β
这就是我一直在做的事情:
var newContent = "<div>Top</div>";
var content = $('#myDiv').html();
$('#myDiv').html(newContent + content);
我想知道是否有一个函数允许你插入一个元素的顶部和/或是否有一个允许你将内容插入某个位置的函数,你可以传入一个子元素并且内容将被放置在该元素之后/之前,即使它可能不在元素的顶部或底部。
谢谢,任何帮助或指导表示赞赏。
答案 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)
是的! insertBefore和before都允许您在元素之前插入,根据您的偏好使用略有不同的语法。
insertBefore
:
$("<div>Top</div>" ).insertBefore( "#myDiv" );
before
:
$( "#myDiv" ).before( "<div>Top</div>" );
答案 2 :(得分:1)
示例:
$('#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')