将元素附加到div但在div

时间:2016-10-26 04:25:26

标签: javascript jquery ajax

我将ajax调用中的内容追加到元素中,但是我在该元素中有一个按钮,我希望始终保持在所有附加元素下面的底部。但是现在附加的元素正在按钮之后。

HTML

 <div id="pagecontent" class="wrapper">
  <!-- WANT APPENDED ELEMENTS TO APPEND HERE -->
     <div class="btnholder">
      <a id="continue" class="continue" href="javascript:;">get more</a>
     </div><!-- WANT TO KEEP AT BOTTOM HERE-->
 </div>

JQUERY

success: function(data){
    $("#pagecontent").append(data);
 },

进入的(数据)基本上是一个简单的div,它不断附加新的div。

 <div class="floatleft"></div>

重要的是要注意我不认为prepend()正常工作,因为我有一个从数据库中取出记录的按钮,并且应该将每个记录追加到另一个下面。在前置的情况下,我认为它将记录放在另一个上面而不是下面。

5 个答案:

答案 0 :(得分:1)

使用before()

var  i = 1
function prependData(){
     
    $( ".btnholder" ).before("<div class='floatleft'>someText"+i+"</div>");
  i++;
 };
<script   src="https://code.jquery.com/jquery-2.1.4.min.js"   integrity="sha256-8WqyJLuWKRBVhxXIL1jBDD7SDxU936oZkCnxQbWwJVw="   crossorigin="anonymous"></script>
<div id="pagecontent" class="wrapper">
  <!-- WANT APPENDED ELEMENTS TO APPEND HERE -->
     <div class="btnholder">
      <a id="continue" class="continue" href="javascript:;">get more</a>
     </div><!-- WANT TO KEEP AT BOTTOM HERE-->
 </div>
<button onClick="prependData()">Click Me</button>

答案 1 :(得分:1)

像这样使用 你必须创建一个新的div然后使用.append()

HTML:

success: function(data){
$("div #forappend").append(data);}

JQUERY:

window.onbeforeunload = function(e) {
	var val = document.getElementById("sampleData").value;
	document.cookie = "SampleData="+val+";";
};

window.onload = function() {
  var cook = document.cookie;
  cook = cook.split(";");
  for(var i=0; i < cook.length ; i++){
	var tempSingleCookie = cook[i].split("=");
	if(tempSingleCookie[0] === "SampleData")
	{
		document.getElementById("sampleData").value = tempSingleCookie[1];
		//Some old date
		document.cookie = "SampleData= ;expires=Thu, 18 Dec 2013 12:00:00 UTC";
	}
  }
};

答案 2 :(得分:0)

您可以使用jQuery的insertBefore()。请仔细阅读文档here

$( "<div class="floatleft"></div>" ).insertBefore( ".btnholder" );

答案 3 :(得分:0)

试试

  

$。前置()

功能

function prependData(){
    $("#pagecontent").prepend("<div class='floatleft'>someText</div>");
 };
<script   src="https://code.jquery.com/jquery-2.1.4.min.js"   integrity="sha256-8WqyJLuWKRBVhxXIL1jBDD7SDxU936oZkCnxQbWwJVw="   crossorigin="anonymous"></script>
<div id="pagecontent" class="wrapper">
  <!-- WANT APPENDED ELEMENTS TO APPEND HERE -->
     <div class="btnholder">
      <a id="continue" class="continue" onClick="prependData()" href="javascript:;">get more</a>
     </div><!-- WANT TO KEEP AT BOTTOM HERE-->
 </div>

答案 4 :(得分:0)

试试这个:

$( ".btnholder" ).before( "<div class="floatleft"></div>" );