[英]How to add an element before the first element?
我正在使用PHP + jQuery開發評論系統。 我需要在所有div
元素之前將最后一條注釋添加到頂部。 例如
<div id="comment">
<div class="comment-3"></div>
<div class="comment-2"></div>
<div class="comment-1"></div>
</div>
所以現在我想用jQuery添加新的<div class="comment-4"></div>
如下所示:
<div id="comment">
<div class="comment-4"></div>
<div class="comment-3"></div>
<div class="comment-2"></div>
<div class="comment-1"></div>
</div>
編輯:注意:我正在使用:
$.ajax({
type: "POST", url: "ajax.php", cache : false, data: goData, dateType: "text",
success: function(data){
$("#comment").append(data);
$("#submit").attr({ disabled:false, value:"Shout it!" });
}
});
$("div#comment").prepend('<div class="comment-4"></div>');
或更現實
//something which generates a HTML DOM element
var newComment = ....;
$("div#comment").prepend(newComment);
當然,如果對您來說更自然,您可以使用prependTo
語法
//something which generates a HTML DOM element
var newComment = ....;
$(newComment).prependTo("div#comment");
有關更多此類技巧,請查看jQuery文檔。
有幾種方法,例如prependTo方法:
$('<div class="comment-4"></div>').prependTo('#comment');
jQuery: 之前
DOM: insertBefore
我認為您真正要尋找的是用於選擇第一個注釋的選擇器,無論您有多少個注釋(例如,如果我做一個錯誤的假設),然后給它一個比帶有注釋名稱的現有類更大的類-X其中X是某個數字。
從而:
$("#comment > div[class^=comment-]:first").before('<div class="comment-'+$('div[class^=comment-]').length)+1+'"></div>');
編輯:哦,並且#comment>部分首先要選擇“ comment”的ID,這使其速度更快,但並不是必須的,除非您有多個注釋部分,例如其他地方...
EDIT2:添加了.parent()選擇器-輸入速度太快。 EDIT3:需要更多咖啡,將.parent()。prepend更改為.before
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.