亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

jQuery中DOM樹操作之使用反向插入方法實例分析

2024-05-06 16:15:12
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了jQuery中DOM樹操作之使用反向插入方法,實例分析了反向插入方法與插入方法回調的使用技巧,需要的朋友可以參考下
 

本文實例講述了jQuery中DOM樹操作之使用反向插入方法。分享給大家供大家參考。具體分析如下:

使用反向插入方法

這里我們先把創建的內容插人到元素前面,然后再把同一個元素插人到文檔 中的另一個位置。通常,當在jQuery中操作元素時,利用連綴方法更簡潔也更有效??墒俏覀儸F在沒有辦法這樣做,因為this是.insertBefore()的目標,是.appendTo()的內容。此時,利 用反向插入方法,可以幫我們解決問題。

像.insertBefore()和.appendTo()這樣的插人方法,一般都有一個對應的反向方法。反 向方法也執行相同的操作,只不過“目標”和“內容”正好相反。例如:

復制代碼代碼如下:
$('<p>Hello</p>').appendTo('#container');

 

與下面的代碼結果一樣:

復制代碼代碼如下:
$('#container').append('<p>Hello</p>');

 

下面我們就使用.before()代替.insertBefore()來重構代碼,參見如下代碼:

復制代碼代碼如下:
$(document).ready(function() {
var $notes = $('<ol id="notes"></ol>')
.insertBefore('#footer');
$('span.footnote').each(function(index) {
$(this)
.before('<sup>' + (index + 1) + '</sup>')
.appendTo($notes)
.wrap('<li></li>');
});
});

 

插入方法回調

反向插入方法可以接受一個函數作為參數,與.attr()和.css()方法類似。 這個傳入的函數會針對每個目標元素調用,返回被插入的HTML字符串。在此其 實也可以使用這個技術,但由于這樣就需要對每個腳注都重復一遍相同的操作, 所以還是使用一個.each()方法來得更清晰。

現在,我們可以考慮最后一步了:在正文中相應的位置創建指向匹配腳注的鏈接和在腳注中 創建指向正文位置的鏈接。為此,每個腳注需要4處標記:兩個鏈接,一個在正文中,一個在腳 注中;以及兩個id屬性。因為這樣一來,傳人.before()方法的參數會變得復雜,所以有必要 在這里使用一種新的創建字符串的方法。
在上面的代碼中,我們使用了 操作符來拼接字符串。使用+操作符雖然沒有問題,但
如果要拼接的字符串太多,那看起來就會很亂。所以,我們在這里使用數組的.join()方法來構 建一個更大的數組。換句話說,下面的兩行代碼結果相同。

復制代碼代碼如下:
var str = 'a' + 'b' + 'c';
var str = ['a', 'b', 'c'].join('');

 

雖然這個例子要求輸人更多字符,但使用.join()方法可以避免因要拼接的字符串過多而引 起混亂。下面我們再看看示例代碼吧,如下代碼就是使用.join()創建字符串的過程。

復制代碼代碼如下:
$(document).ready(function() {
var $notes = $('<ol id="notes"></ol>') .insertBefore('#footer'); $('span.footnote').each(function(index) { $(this)
.before([
'<sup>', index + 1,
'</sup>'
].join(''))
.appendTo($notes)
.wrap('<li></li>');
});
});

 

注意,由于數組的每個元素會分別執行運算,因此不再需要把index+1放在括號里了。 使用這種技巧,可以為腳注標簽添加一個指向頁面底部的鏈接和一個唯一的id值。同時在后 面的方法中,也要給<li>元素中添加相應的id屬性,以便該鏈接有匹配的目標,參見如下代碼:

復制代碼代碼如下:
$(document).ready(function() {
var $notes = $('<ol id="notes"></ol>') .insertBefore('#footer'); $('span.footnote').each(function(index) { $(this)
.before([
'<a href="#footnote-', index + 1,
'"id="context-', index + 1,
'"class="context">',
'<sup>', index + 1,
'</sup></a>'
].join(''))
.appendTo($notes)
.wrap('<li id=Mfootnote-' + (index + 1) + IM></li>');
});
});

 

添加了這些標記之后,每個腳注標簽就有了指向頁面底部對應腳注的鏈接。那么所剩的就是 在腳注中創建一個指向其上下文的鏈接了。為此,可以使用.appendTo()的反向方 法.append(),參見如下代碼:

復制代碼代碼如下:
$(document).ready(function() {
var $notes = $('<ol id="notes__></ol>')
.insertBefore('#footer');
$('span.footnote').each(function(index) {
$(this)
.before([
'<a href="#footnote-', index + 1,
'"id="context-', index + 1,
'"class = "context__>',
'<sup>', index + 1,
'</sup></a>'
].join(''))
.appendTo($notes)
.append([
' (<a href="#context-', index + 1,
'__>context</a>)'
].join(''))
.wrap('<li id="footnote-' + (index + 1) + '__></li>');
});
});

 

注意,這里的href指向了腳注標簽中的id。運行結果中,可以看到包含新鏈接的腳注。

希望本文所述對大家的jQuery程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色婷婷综合成人av| 久久艳片www.17c.com| 欧美理论电影在线观看| 国产精品一二区| 亚洲自拍偷拍色片视频| 日韩精品免费电影| 欧美电影免费观看| 欧美国产在线电影| 国产一区欧美二区三区| 日韩av在线网址| 97在线看免费观看视频在线观看| 亚洲大胆美女视频| 日韩一二三在线视频播| 精品少妇一区二区30p| 8x拔播拔播x8国产精品| 亚洲国产精品成人一区二区| 亚洲视频999| 欧美黄色片免费观看| 欧美激情伊人电影| 国产精品永久免费观看| 狠狠久久亚洲欧美专区| 在线观看久久av| 麻豆国产va免费精品高清在线| 欧美人与物videos| 国产精品99久久久久久久久久久久| 91av中文字幕| 欧美巨乳美女视频| 麻豆乱码国产一区二区三区| 色多多国产成人永久免费网站| 国产精品高潮呻吟久久av野狼| 蜜臀久久99精品久久久无需会员| 欧洲精品在线视频| 日韩欧美综合在线视频| 亚洲精品之草原avav久久| 精品视频在线观看日韩| 久久精品国产v日韩v亚洲| 欧美激情国内偷拍| 国产成人精品视| 91在线播放国产| 成人免费福利视频| 亚洲欧洲午夜一线一品| 国产91免费看片| 国产精品视频yy9099| 日韩激情在线视频| 亚洲国产精品成人va在线观看| 久久影院在线观看| 欧美性猛交xxxx免费看漫画| 日本午夜精品理论片a级appf发布| 茄子视频成人在线| 超薄丝袜一区二区| 久久天天躁狠狠躁夜夜爽蜜月| 668精品在线视频| 久久成人综合视频| 在线观看久久久久久| 日本精品一区二区三区在线播放视频| 日本午夜人人精品| 亚洲尤物视频网| 欧美性猛交xxxx偷拍洗澡| 欧美亚洲另类激情另类| 国产成人在线亚洲欧美| 久久久久99精品久久久久| 久久久电影免费观看完整版| 草民午夜欧美限制a级福利片| 亚洲一区二区三区四区视频| 亚洲精品按摩视频| 国产欧美一区二区| 精品五月天久久| 中文字幕日韩欧美在线| 亚洲黄色www网站| 92福利视频午夜1000合集在线观看| 国产精品视频最多的网站| 欧美高清电影在线看| 亚洲一级片在线看| 国产精品一区专区欧美日韩| 亚洲一区二区在线播放| 亚洲欧美国产制服动漫| 欧美极品少妇xxxxⅹ喷水| 538国产精品一区二区免费视频| 日韩精品999| 日韩亚洲欧美成人| 免费97视频在线精品国自产拍| 欧美性高潮床叫视频| 国产成人小视频在线观看| 成人高清视频观看www| 欧美精品免费在线| 成人精品网站在线观看| 国产美女精品视频| 精品电影在线观看| 日韩免费av片在线观看| 久久久精品久久| 一区二区中文字幕| 色综合亚洲精品激情狠狠| 亚洲专区中文字幕| 欧美在线视频免费| 国产精品专区一| 久久久久久久激情视频| 精品人伦一区二区三区蜜桃免费| 亚洲国产日韩欧美在线99| 国产精品视频精品视频| 日韩高清不卡av| 日韩在线免费高清视频| 亚洲免费中文字幕| 国产精品主播视频| 国产精品∨欧美精品v日韩精品| 欧美日韩国产一区二区| 九九热99久久久国产盗摄| 国产精品18久久久久久麻辣| 国产精品久久久久久久久影视| 亚洲三级黄色在线观看| 久久久女女女女999久久| 国产一区二区黑人欧美xxxx| 成人午夜小视频| 欧美性黄网官网| 日韩成人在线视频观看| 精品国内产的精品视频在线观看| 亚洲精品ady| 久久久久国产精品www| 欧美另类精品xxxx孕妇| 日韩av中文字幕在线播放| 欧美亚洲伦理www| 午夜精品美女自拍福到在线| 国产午夜精品全部视频在线播放| 国产精品 欧美在线| 在线a欧美视频| 91亚洲精品在线| 国产精品av电影| 91精品91久久久久久| 91精品国产99久久久久久| 国产精品夫妻激情| 日韩电影在线观看免费| 日韩免费在线播放| 国产91精品网站| 日本19禁啪啪免费观看www| 欧美日韩ab片| 日韩色av导航| 欧洲亚洲免费在线| 国产精品私拍pans大尺度在线| 91在线精品视频| 久久久精品国产网站| 欧美电影免费观看电视剧大全| 欧美精品一区二区三区国产精品| 久久av在线看| 奇米一区二区三区四区久久| 精品久久久香蕉免费精品视频| 亚洲免费福利视频| 在线观看国产精品日韩av| 国产成人精品久久二区二区| 国产区亚洲区欧美区| 91久久精品久久国产性色也91| 中文字幕亚洲情99在线| 中文字幕亚洲无线码a| 亚洲国产精品视频在线观看| 国产精品久久久久久久电影| 中文字幕精品在线| 欧美重口另类videos人妖| 91精品久久久久久久久久入口| 中文字幕一区二区三区电影| 欧美激情精品久久久久| 国产精品一区专区欧美日韩| 日韩av电影在线免费播放| 精品国产老师黑色丝袜高跟鞋| 国产精品久久久久久av| 国产精品爽黄69天堂a| 国产精品福利片|