JavaScript (index.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-TW" xml:lang="zh-TW"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Image</title> <script type="text/javascript"> function before() { //在img前插入 var image = document.getElementById('myimg'); var alink = document.createElement('a'); alink.appendChild(document.createTextNode('Google')); alink.href = "http://www.google.com/"; image.parentNode.insertBefore(alink, image); //在目標前插入 } function wrap() { //包覆img var image = document.getElementById('myimg'); var alink = document.createElement('a'); alink.href = "http://www.google.com/"; alink.appendChild(image.cloneNode(true)); //克隆一目標 image.parentNode.replaceChild(alink, image); //取代舊有目標 } function after() { //在img後插入 var image = document.getElementById('myimg'); var alink = document.createElement('a'); alink.appendChild(document.createTextNode('Google')); alink.href = "http://www.google.com/"; if(image.parentNode.lastChild == image) { //當目標為最後一個 image.parentNode.appendChild(alink); } else { //當目標在中間 image.parentNode.insertBefore(alink, image.nextSibling); } } </script> </head> <body> <button onClick="before()">Before</button> <button onClick="wrap()">Warp</button> <button onClick="after()">After</button> <img id="myimg" src="example.jpg" /> </body> </html>範例:
說明:
使用insertBefore、insertAfter、cloneNode不同方式插入新標籤, 針對上一篇文章建立範例程式, 並增加after及wrap之範例供學習。
如果不考慮IE的話,其實可以參考
回覆刪除http://www.w3.org/TR/html5/apis-in-html-documents.html#insertadjacenthtml