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

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

我可以写吗

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

非常感谢。

4

4 回答 4

6

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>
于 2013-02-21T20:14:01.227 回答
3

您应该指定IDOFELEMENT是哪种元素。但是您不能仅通过添加 href 属性将其转换为链接,它仅在IDOFELEMENT 是类似的超链接时才有效<a id="IDOFELEMENT">stuff</a>

最简单的方法是向将url 更改为所需地址的元素添加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>

我希望这可以帮助你。

于 2012-04-18T16:29:54.520 回答
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>
于 2019-12-03T09:36:50.707 回答
0

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

<a href="http://www.address.com">
    <div id="IDOFELEMENT">
    ... content ...
    </div>
</a>
于 2012-04-18T16:56:30.460 回答