本文實例講述了jQuery中DOM樹操作之使用反向插入方法。分享給大家供大家參考。具體分析如下:
使用反向插入法
這裡我們先把創建的內容插人到元素前面,然後再把同一個元素插人到文件 中的另一個位置。通常,當在jQuery中操作元素時,利用連綴方法更簡潔也更有效。可是我們現在沒有辦法這樣做,因為this是.insertBefore()的目標,是.appendTo()的內容。此時,利 用反向插入法,可以幫我們解決問題。
像.insertBefore()和.appendTo()這樣的插人方法,一般都有一個對應的反向方法。反 向方法也執行相同的操作,只不過「目標」和「內容」正好相反。例如:
Hello
').appendTo('# container');與下面的程式碼結果一樣:
Hello
');下面我們就使用.before()代替.insertBefore()來重構程式碼,請參考以下程式碼:
var $notes = $('
.insertBefore('#footer');
$('span.footnote').each(function(index) {
$(this)
.before('' (index 1) '')
.appendTo($notes)
.wrap('
});
});
插入方法回調
反向插入法可以接受一個函數作為參數,與.attr()和.css()方法類似。 這個傳入的函數會針對每個目標元素調用,傳回被插入的HTML字串。在此其 實也可以使用這個技術,但由於這樣就需要對每個腳註都重複一遍相同的操作, 所以還是使用一個.each()方法來得更清晰。
現在,我們可以考慮最後一步了:在正文中相應的位置創建指向匹配腳註的鏈接和在腳註中 創建指向正文位置的鏈接。為此,每個腳註需要4處標記:兩個鏈接,一個在正文中,一個在腳 註中;以及兩個id屬性。因為這樣一來,傳人.before()方法的參數會變得複雜,所以有必要 在這裡使用一種新的建立字串的方法。
在上面的程式碼中,我們使用了 操作符來拼接字串。使用 操作符雖然沒有問題,但
如果要拼接的字串太多,那看起來就會很亂。所以,我們在這裡使用陣列的.join()方法來構 建立一個更大的陣列。換句話說,下面的兩行程式碼結果相同。
var str = ['a', 'b', 'c'].join('');
雖然這個例子要求輸人更多字符,但使用.join()方法可以避免因要拼接的字符串過多而引 起混亂。下面我們再來看看範例程式碼吧,如下程式碼就是使用.join()建立字串的過程。
var $notes = $('
.before([
'', index 1,
''
].join(''))
.appendTo($notes)
.wrap('
});
});
注意,由於陣列的每個元素會分別執行運算,因此不再需要把index 1放在括號裡了。 使用這種技巧,可以為腳註標籤添加一個指向頁面底部的連結和一個唯一的id值。同時在後 面的方法中,也要為
var $notes = $('
.before([
'',
'', index 1,
''
].join(''))
.appendTo($notes)
.wrap('
});
});
新增了這些標記之後,每個腳註標籤就有了指向頁面底部對應腳註的連結。那麼所剩的就是 在腳註中建立一個指向其上下文的連結了。為此,可以使用.appendTo()的反向方 法.append(),請參閱以下程式碼:
var $notes = $(' '"id="context-', index 1,
'"class = "context__>',
'', index 1,
''
].join(''))
.appendTo($notes)
.append([
' (');
});
});
注意,這裡的href指向了腳註標籤中的id。在運行結果中,可以看到包含新連結的腳註。
希望本文所述對大家的jQuery程式設計有所幫助。

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

禪工作室 13.0.1
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具