這個在文章已經很多的 blog 上非常好用!(Y)

最近我在手動改 theme 的時候,有時候想要改變某些 tag 的行為,但又不希望更改後原本文章的版型跑掉,所以才會想要用 JavaScript 來「偷天換日」一下,把原本的 tag 換掉用新的。

這個動作我借助了 jQuery 這個 JavaScript framework,然後假設我要更換的 tag 是 blockquote,預期在它的周圍包上<div class="outerquote"></div> 這樣的 tag,那我先定義一個函式來作這件事:

function wrap_blockquote() {
  $('blockquote').wrap('<div class="outerquote"></div>')
}

然後這個 function 必須在整個 body 都 load 完了才被 call 來作,所以你一定馬上想到可以在 body 裡塞入:

<body onload="wrap_blockquote">
...
</body>

這樣大部份時候都會對,不過如果你本來就有其它程式會塞東西到 body 的 onload event 中時,這樣作就會不小心把其它人幹掉了,所以應該要另外寫一段 JavaScript code 讓它加入 onload listener 中而不是取代掉原本的 listeners:

window.addEventListener('load', 'wrap_blockquote', false)

這樣就可以了 :P

我要留言
(必填)
(必填)