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

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 13:19:52
字體:
來源:轉載
供稿:網友

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

使用反向插入方法

這里我們先把創建的內容插人到元素前面,然后再把同一個元素插人到文檔 中的另一個位置。通常,當在jQuery中操作元素時,利用連綴方法更簡潔也更有效。可是我們現在沒有辦法這樣做,因為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
国产成人jvid在线播放| 日韩欧美高清视频| 在线电影av不卡网址| 欧美www视频在线观看| 精品久久久国产| 亚洲跨种族黑人xxx| 日韩亚洲在线观看| 国产免费观看久久黄| 欧美激情一区二区三区在线视频观看| 色综久久综合桃花网| 国产一区二区三区高清在线观看| 国产91精品不卡视频| 91视频-88av| 国产精品高清在线| 亚洲第一页自拍| 国产精品美女午夜av| 色久欧美在线视频观看| 欧美亚洲另类在线| 亚洲一区美女视频在线观看免费| 亚洲精品自产拍| 亚洲性猛交xxxxwww| 日韩在线视频一区| 91中文精品字幕在线视频| 国产精品久久久久9999| 九九热这里只有精品免费看| 亚洲女成人图区| 亚洲香蕉伊综合在人在线视看| 国产欧美日韩中文| 亚洲女性裸体视频| 狠狠综合久久av一区二区小说| 成人免费网站在线看| 国产精品一区二区三区成人| 欧美日韩激情小视频| 国产精品成人免费电影| 热草久综合在线| 亚洲性视频网址| 黄色91在线观看| 成人免费淫片视频软件| 日韩欧美国产视频| 国产精品 欧美在线| 成人精品福利视频| 久久久久久久国产精品视频| 欧美激情极品视频| 日韩欧美国产黄色| 亚洲图片欧洲图片av| 亚洲成人免费在线视频| 国产精品久久一| 国产精品99久久久久久白浆小说| 欧美日韩精品在线观看| 91美女福利视频高清| 成人激情视频在线| 国产亚洲在线播放| 精品日韩视频在线观看| 欧美精品久久久久久久久| 国产成人精品一区| 日韩国产高清污视频在线观看| 精品久久久久久久久国产字幕| 久久亚洲精品成人| 亚洲国产精品yw在线观看| 欧美床上激情在线观看| 国产精品入口免费视| 久久久久久久久亚洲| 久久91亚洲精品中文字幕奶水| 亚洲字幕一区二区| 青青草一区二区| 欧美日韩aaaa| 亚洲91精品在线| 91午夜理伦私人影院| 国产91在线高潮白浆在线观看| www.久久撸.com| 91亚洲精品久久久| 国产精品96久久久久久又黄又硬| 色综合色综合久久综合频道88| 欧美激情小视频| 国产精品美女www爽爽爽视频| 亚洲一区二区精品| 国产精品中文字幕久久久| 亚洲精品www| 久久久精品亚洲| 亚洲国产精品嫩草影院久久| 日韩中文字幕不卡视频| 国产精品香蕉在线观看| 欧美黑人一级爽快片淫片高清| 国产在线视频不卡| 午夜精品一区二区三区视频免费看| 青草青草久热精品视频在线网站| 成人a视频在线观看| 国产成人精品午夜| 欧美高清自拍一区| 亚洲午夜激情免费视频| 色妞在线综合亚洲欧美| 日韩中文字幕不卡视频| 亚洲va男人天堂| 成人免费午夜电影| 日本久久91av| 热99精品里视频精品| 日韩欧美成人免费视频| 欧美日韩一区二区在线播放| 午夜剧场成人观在线视频免费观看| 日韩成人免费视频| 亚洲性日韩精品一区二区| 久久久久久久久久久免费| 日韩精品中文字幕在线播放| 最近的2019中文字幕免费一页| 色综合视频一区中文字幕| 久久91超碰青草是什么| 91美女片黄在线观| 亚洲一区亚洲二区| 亚洲毛片在线免费观看| 亚洲aaaaaa| 亚洲天堂av综合网| 8x海外华人永久免费日韩内陆视频| 欧美日韩成人免费| 亚洲欧美一区二区精品久久久| 91成品人片a无限观看| 中文欧美在线视频| 国产精品网站入口| 午夜欧美不卡精品aaaaa| 久久国产加勒比精品无码| 色噜噜久久综合伊人一本| 日韩免费在线免费观看| 日韩精品免费在线视频| 精品国产网站地址| 精品日韩中文字幕| 精品视频一区在线视频| 久久久国产一区二区三区| 欧美视频在线观看免费网址| 日韩在线激情视频| 中文字幕国产精品| 亚洲人成在线观看网站高清| 色偷偷888欧美精品久久久| 中文字幕亚洲欧美一区二区三区| 精品国产91久久久久久| 国内精品免费午夜毛片| 国产日韩精品综合网站| 91免费人成网站在线观看18| 欧美在线观看一区二区三区| 国产精品电影网站| 国产激情久久久| 国产美女主播一区| 日韩毛片中文字幕| 国产suv精品一区二区| 日韩欧美视频一区二区三区| www国产亚洲精品久久网站| 成人精品一区二区三区电影黑人| 久久人人爽人人爽人人片av高清| 亚洲美女视频网| 91免费的视频在线播放| 日韩av在线播放资源| 亚洲最大的网站| 欧美猛交免费看| 丝袜一区二区三区| 久久久女人电视剧免费播放下载| 欧美激情在线有限公司| 国产精品第二页| 欧美成人精品在线播放| 国产成+人+综合+亚洲欧洲| 精品久久久在线观看| 欧美成人免费全部观看天天性色| 九色成人免费视频| 日本免费久久高清视频| 亚洲第一av在线| 欧美性videos高清精品| 日韩免费不卡av|