在普通的javascript中更改href链接

时间:2012-02-02 20:34:46

标签: javascript dom

我正在创建一个新的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;
}

3 个答案:

答案 0 :(得分:1)

一切都很突出。

  1. links[i].href.value无效。只需使用links[i].href
  2. 您应该检查以确保href中确实包含某些内容。
  3. 这是一个适合我的例子:

    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;
        }
    }
    

答案 1 :(得分:0)

links[i].href.value将始终是绝对网址,因此如果HTML中的属性看起来像

<a href="something.something">

然后links[i].href.value的值将类似于

"http://current.domain/something.something"

请尝试使用getAttribute('href')

答案 2 :(得分:0)

使用getter和setter访问/修改属性:getAttributesetAttribue

以下是演示:http://jsfiddle.net/rF9qk/