jQuery的DOM操作

使用jQuery修改DOM相當(dāng)簡(jiǎn)單

添加元素

append() 方法

在被選元素的結(jié)尾插入內(nèi)容(仍然該元素的內(nèi)部)

  1. 可以一次添加多個(gè)內(nèi)容,內(nèi)容可以是DOM對(duì)象、HTML string、 jQuery對(duì)象
  2. 如果參數(shù)是function,function可以返回DOM對(duì)象、HTML string、 jQuery對(duì)象,參數(shù)是集合中的元素位置與原來(lái)的html值
$("p").append("追加文本");

appendTo()方法

把對(duì)象插入到目標(biāo)元素尾部,目標(biāo)元素可以是selector, DOM對(duì)象, HTML string, 元素集合, jQuery對(duì)象;

$( "h2" ).appendTo( $( ".container" ) );

prepend() 方法

在被選元素的開(kāi)頭插入內(nèi)容。

$("p").prepend("在開(kāi)頭追加文本");

prependTo()方法

把對(duì)象插入到目標(biāo)元素頭部,目標(biāo)元素可以是selector, DOM對(duì)象, HTML string, 元素集合, jQuery對(duì)象;

$( ".container" ).before( $( "h2" ) );

after() 和 before() 方法

after() 方法在被選元素之后(不是頭部,而是外面,和對(duì)象并列同級(jí))插入內(nèi)容。
before() 方法在被選元素之前(不是頭部,而是外面,和對(duì)象并列同級(jí))插入內(nèi)容。

$("img").after("在后面添加文本");
 
$("img").before("在前面添加文本");

insertBefore(target)方法

把對(duì)象插入到target之前(不是頭部,是同級(jí))

$( "h2" ).insertBefore( $( ".container" ) );

insertAfter(target)方法

把對(duì)象插入到target之后(不是頭部,是同級(jí))

$( ".container" ).insertAfter( $( "h2" ) );

拓展

通過(guò) append() 和 prepend() 方法添加若干新元素

append() 和 prepend() 方法能夠通過(guò)參數(shù)接收無(wú)限數(shù)量的新元素。可以通過(guò) jQuery 來(lái)生成文本/HTML,或者通過(guò) JavaScript 代碼和 DOM 元素。
我們創(chuàng)建若干個(gè)新元素。這些元素可以通過(guò) text/HTML、jQuery 或者 JavaScript/DOM 來(lái)創(chuàng)建。然后我們通過(guò) append() 方法把這些新元素追加到文本中(prepend() 用法同樣):

function appendText()
{
    var txt1="<p>文本。</p>";               使用 HTML 標(biāo)簽創(chuàng)建文本
    var txt2=$("<p></p>").text("文本。");  使用 jQuery 創(chuàng)建文本
    var txt3=document.createElement("p");
    txt3.innerHTML="文本。";               使用 DOM 創(chuàng)建文本
    $("body").append(txt1,txt2,txt3);         追加新元素
}
通過(guò) after() 和 before() 方法添加若干新元素

after() 和 before() 方法能夠通過(guò)參數(shù)接收無(wú)限數(shù)量的新元素??梢酝ㄟ^(guò) text/HTML、jQuery 或者 JavaScript/DOM 來(lái)創(chuàng)建新元素。
我們創(chuàng)建若干新元素。這些元素可以通過(guò) text/HTML、jQuery 或者 JavaScript/DOM 來(lái)創(chuàng)建。然后我們通過(guò) after() 方法把這些新元素插到文本中(before() 用法同樣):

function afterText()
{
    var txt1="<b>I </b>";                    // 使用 HTML 創(chuàng)建元素
    var txt2=$("<i></i>").text("love ");     // 使用 jQuery 創(chuàng)建元素
    var txt3=document.createElement("big");  // 使用 DOM 創(chuàng)建元素
    txt3.innerHTML="jQuery!";
    $("img").after(txt1,txt2,txt3);          // 在圖片后添加文本
}

刪除元素

remove()方法

刪除被選元素(及其子元素)

$("#div1").remove();

empty()方法

從被選元素中刪除子元素

$("#div1").empty();

detach()方法

移除被選元素,包括所有的文本和子節(jié)點(diǎn)。然后它會(huì)保留數(shù)據(jù)和事件。該方法會(huì)保留移除元素的副本,允許它們?cè)谝院蟊恢匦虏迦搿?如需移除元素及它的數(shù)據(jù)和事件,請(qǐng)使用 remove 方法代替。從被選元素移除內(nèi)容,請(qǐng)使用 empty() 方法)

$("button").click(function(){
    $("p").detach();
});   移除所有的 <p> 元素

包裹元素

text()方法
設(shè)置或返回所選元素的文本內(nèi)容,操作的是DOM的innerText值

$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});

html()方法
這是一個(gè)讀寫兩用的方法,用于獲取/修改元素的innerHTML

  1. 當(dāng)沒(méi)有傳遞參數(shù)的時(shí)候,返回元素的innerHTML
  2. 當(dāng)傳遞了一個(gè)string參數(shù)的時(shí)候,修改元素的innerHTML為參數(shù)值
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • title: 《鋒利的jQuery》三、jQuery的DOM操作date: 2017-07-03 09:23:54...
    Gary23閱讀 467評(píng)論 0 1
  • 創(chuàng)建元素 只需要把DOM字符串傳入$方法即可返回一個(gè)jQuery對(duì)象 添加元素 內(nèi)部添加,添加后是父子關(guān)系 .ap...
    zooeydotmango閱讀 136評(píng)論 0 0
  • 一、創(chuàng)建節(jié)點(diǎn) 以HTML創(chuàng)建新元素 以jQuery創(chuàng)建新元素 以DOM創(chuàng)建新元素 二、插入節(jié)點(diǎn) 通過(guò)js的DOM操...
    清心挽風(fēng)閱讀 907評(píng)論 0 2
  • 1. 元素?cái)?shù)量和對(duì)象類型轉(zhuǎn)換 1.1 length屬性和size()方法 用于獲得JQuery選擇器匹配的元素個(gè)數(shù)...
    yangsg閱讀 798評(píng)論 0 7
  • 通過(guò)jQuery,您可以選取(查詢,query)HTML元素,并對(duì)它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹(shù)8824閱讀 722評(píng)論 0 3

友情鏈接更多精彩內(nèi)容