[JS食譜] 不改文章換標籤

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

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

這個動作我借助了 jQuery 這個 JavaScript framework,然後假設我要更換的 tag 是 blockquote,預期在它的周圍包上

這樣的 tag,那我先定義一個函式來作這件事:

[code lang="javascript"]
function wrap_blockquote() {
$('blockquote').wrap('

')
}
[/code]

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

[code lang="xml"]

...

[/code]

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

[code lang="javascript"]
window.addEventListener('load', 'wrap_blockquote', false)
[/code]

這樣就可以了 😛