我想包裝div與特定的html代碼,但我有問題使用jQuery的.before
和.after
,因爲jQuery會自動關閉我添加到.before
的div。使用jQuery的特定代碼包裝元素
這是我的html:
<div class="navigation">
<a>first</a>
<a>second</a>
<a>third</a>
</div>
,當我嘗試使用此代碼:
$('.navigation').before('<div class="newNavigation"><a>Prev</a>');
$('.navigation').after('<a>Next</a></div>');
他將自動關閉.newNavigation格,這是我不希望發生的事情,因爲我試圖在.after
代碼中關閉該div。生成的HTML看起來像這樣:
<div class="newNavigation">
<a>Prev</a>
</div>
<div class="navigation">
<a>first</a>
<a>second</a>
<a>third</a>
</div>
<a>Next</a>
而我試圖讓這個:
<div class="newNavigation">
<a>Prev</a>
<div class="navigation">
<a>first</a>
<a>second</a>
<a>third</a>
</div>
<a>Next</a>
</div>
爲了幫助你有點這個我創建jsFiddle,我使用.before
和.after
失敗嘗試。
預先感謝您!
解決方案:
雖然有幾個很好的解決方案,我決定去@小寶-E建議,因爲他的代碼看起來乾淨的給我。
$(".navigation")
.wrap('<div class="newNavigation">')
.before("<a>Prev</a>")
.after("<a>Next</a>");
謝謝大家參與!
謝謝安迪,這是非常乾淨的解決方案。 – Klikerko
@Klikerko:高興地幫助:-) –