首頁  >  文章  >  web前端  >  jQuery中prepend()方法使用詳解_jquery

jQuery中prepend()方法使用詳解_jquery

WBOY
WBOY原創
2016-05-16 15:45:521618瀏覽

prepend()方法將指定元素插入匹配元素按內部的開頭,其作用和prependTo()方法基本上相同,只在語法上有差別,雖然說在語法形式上看基本上相同。

以下介紹下語法結構:

複製程式碼 程式碼如下:

$(selector).prepend(content)

參數列表:

demo:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.jb51.net/" />
<title>脚本之家</title>
<style type="text/css">
div{
 height:200px;
 width:200px;
 border:1px solid green;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 $("button").click(function(){
 $("div").prepend("被加添的内容");
 })
})
</script>
</head>
<body>
<div>前面要添加内容:</div>
<button>点击查看效果</button>
</body>
</html>

prepend()詳解二:

prepend()函數用於向每個匹配元素內部的起始位置追加指定的內容。

指定的內容可以是:html字串、DOM元素(或陣列)、jQuery物件、函數(傳回值)。

與該函數相對的是append()函數,用於向每個匹配元素內部的末尾位置追加指定的內容。

函數屬於jQuery物件(實例)。

文法

複製程式碼 程式碼如下:

jQueryObject.prepend( content1 [, content2 [, contentN ]] )

參數

jQuery 1.4 新增支援:參數content1可以為函數。 prepend()將根據匹配的所有元素遍歷執行該函數,函數中的this將指向對應的DOM元素。

prepend()也會為函數傳入兩個參數:第一個參數就是目前元素在符合元素中的索引,第二個參數就是該元素目前的內部html內容(innerHTML )。函數的回傳值就是需要為該元素追加的內容(可以是html字串、DOM元素、jQuery物件)。

注意:只有第一個參數可以為自訂函數,用於遍歷執行。如果之後的參數也為函數,則呼叫其toString()方法,將其轉為字串,並視為html內容。
回傳值

prepend()函數的傳回值為jQuery類型,傳回目前jQuery物件本身(以便於進行鍊式風格的程式設計)。

意:如果追加的內容是目前頁面中的某些元素,那麼這些元素將從原位置上消失。簡而言之,這是一個移動操作,而不是複製操作。

範例&說明

prepend()函數用於將每個匹配元素內部的起始位置追加內容:

<p><!--插入到p元素内部的起始位置-->段落文本1<span></span></p>
<p><!--插入到p元素内部的起始位置-->段落文本2<span></span></p>

<script type="text/javascript">
$("p").prepend( '<!--插入到p元素内部的起始位置-->' ); 
</script>

請注意prepend()函數和prependTo()函數的差異:

var $A = $("s1");
var $B = $("s2");

// 将$B追加到$A中
$A.prepend( $B ); // 返回$A
// 将$A追加到$B中
$A.prependTo( $B ); // 返回表示追加内容的jQuery对象( 匹配所有$B内部开头追加的$A元素 )

以下面這段HTML程式碼為例:

<p id="n1">
 <span id="n2">CodePlayer</span> 
</p>
<p id="n3">
 <label class="move">Hello World</label>
</p>
<p id="n4">
 <i>测试内容</i>
</p>

以下jQuery範例程式碼用於示範prepend()函數的具體用法:

var $n1 = $("#n1");
//将一个strong标记追加到n1内部的起始位置
$n1.prepend( '<strong>追加内容</strong>' );


//将所有的label元素和i元素追加到n1内部的起始位置
//原来位置的label元素和i元素会消失(相当于是移动到n1内部的起始位置)
$n1.prepend( document.getElementsByTagName("label"), $("i") );

//为每个p元素内部的起始位置追加一个span元素,html内容根据索引而有所不同
var $p = $("p");
$p.prepend( function(index, html){
 return '<span>追加元素' + (index + 1) + '</span>'; 
} );

運行程式碼

prepend()會將內容追加到指定容器元素的開始標記之後,不會額外添加任何空白字符,上述代碼執行後的完整html代碼如下(格式未作任何調整):

<p id="n1"><span>追加元素1</span><label class="move">Hello World</label><i>测试内容</i><strong>追加内容</strong>
 <span id="n2">CodePlayer</span> 
</p>
<p id="n3"><span>追加元素2</span>
 
</p>
<p id="n4"><span>追加元素3</span>
 
</p>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn