document.getElementById包含href

时间:2012-04-18 16:06:12

标签: href getelementbyid

<script type="text/javascript">
document.getElementById("IDOFELEMENT");
</script>

将此转换为链接的正确方法是什么?

我可以写

吗?
<script type="text/javascript">
document.getElementById("IDOFELEMENT").href("http://www.address.com");
</script>

非常感谢。

4 个答案:

答案 0 :(得分:4)

的javascript:

// this changes the href value<br>
document.getElementById("IDOFELEMENT").href = "http://www.address.com";

和html:

<a href="www.toBeChanged.com" id="IDOFELEMENT">To Website< /a>

答案 1 :(得分:2)

您应指定 IDOFELEMENT 的元素类型。但是你不能通过添加href属性将它转换为链接,只有在 IDOFELEMENT 时它才有效 是一个像<a id="IDOFELEMENT">stuff</a>

这样的超链接

最简单的方法是将 onclick 事件添加到将网址更改为所需地址的元素:

<script type="text/javascript">
   var element = document.getElementById("IDOFELEMENT");
   element.setAttribute('onclick', 'window.location.href=\'http://address.com\'');
</script>

或者如果你想用超链接包装它:

<script type="text/javascript">
   var element = document.getElementById("IDOFELEMENT");
   var parent = element.parentNode; 
   var link = document.createElement('a');
   link.href = 'http://www.address.com';
   link.appendChild(element.cloneNode(true)); 
   parent.replaceChild(link, element);
</script>

我希望这会对你有所帮助。

答案 2 :(得分:1)

我遇到了这个问题-Javascript错误:无法读取null的属性“ parentNode”。 我发现这是由于在DOM未准备好时执行此代码。 window.onload为我解决了这个问题。

<script>
window.onload = function() {

   var element = document.getElementById("IDOFELEMENT");
   var parent = element.parentNode; 
   var link = document.createElement('a');
   link.href = 'http://www.google.com';
   link.appendChild(element.cloneNode(true)); 
   parent.replaceChild(link, element);
};
</script>

答案 3 :(得分:0)

您只需将元素包装在锚标记中,如下所示......

<a href="http://www.address.com">
    <div id="IDOFELEMENT">
    ... content ...
    </div>
</a>