[英]change href link in plain javascript
我正在创建一个新的DOM元素,以便以后可以用数据填充它:
var bubbleDOM = document.createElement('div');
bubbleDOM.setAttribute('class', 'selection_bubble');
document.body.appendChild(bubbleDOM);
我想遍历这个新创建的元素中的链接,将“ something.something”之类的地址转换为“ http://www.something.something”。 我不想要jQuery,所以我尝试了一下但没有成功:
var links = bubbleDOM.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
links[i].href = "http://www." + links[i].href.value;
}
几件事脱颖而出。
links[i].href.value
无效。 只需使用links[i].href
。 这是一个对我有用的示例:
var links = bubbleDOM.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (!!links[i].href && links[i].href.length > 0) { // Check that there is an href
links[i].href = "http://www." + links[i].href;
}
}
links[i].href.value
将始终是绝对URL,因此,如果HTML中的属性看起来像
<a href="something.something">
然后links[i].href.value
的值将类似于
"http://current.domain/something.something"
尝试改用getAttribute('href')
。
使用getter和setter访问/修改属性: getAttribute
和setAttribue
。
这是一个演示: http : //jsfiddle.net/rF9qk/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.