[英]How to put <Tag> inside src / href
我想要完成的是使用DOM cloneNode()通過標記名稱獲取元素並將其克隆到另一個標記(在URL內)。
所以基本上我想把<tag>
或<div class="tag">
放在另一個標簽的src或href屬性中。
例如:
<body onload="myFunction()">
<script>
function myFunction() {
var itm = document.getElementsByTagName("tag1")[0].lastChild;
var cln = itm.cloneNode(true);
document.getElementsByTagName("tag2")[0].appendChild(cln);
}
</script>
<tag1>Hello.png</tag1>
<a href='http://example.com/<tag2></tag2>'> </a>
所以結果應該是:
<a href='http://example.com/Hello.png'> </a>
您可以使用Element.setAttribute()來更新href或src屬性,方法是使用String.replace()替換字符串(即<tag2></tag2>
)和<tag1>
的innerHTML屬性。
運行下面的代碼段並按下標有“ 復制 ”的按鈕。 請注意,使用encodeURI()是因為<tag2>
實際上就DOM屬性而言是編碼的(即它不是單獨的HTML標記)。
document.addEventListener('DOMContentLoaded', function(DOMLoadEvent) { document.getElementById('copy').addEventListener('click', copyTag1); }); function copyTag1() { var innerHTML = document.getElementsByTagName("tag1")[0].innerHTML; var link = document.getElementById('link'); console.log('link.href before: ',link.href, 'innerhtml: ',innerHTML); link.setAttribute('href', link.href.replace(encodeURI('<tag2></tag2>'),innerHTML)); console.log('link.href after: ',link.href); }
<button id="copy">Copy</button> <tag1>Hello.png</tag1> <a id="link" href='http://example.com/<tag2></tag2>'> Example Link</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.