2011-01-08 94 views
0

看来我无法在Javascript参考中找到document.getElementById().href,有很多网站声称使用它来更改链接的href。这安全吗?它可以在所有浏览器中工作吗?或者,我是否应该准备好其他链接,并在不再需要时替换旧链接?跨浏览器更改A标记'HREF

根据用户所执行的最后一个操作,我只有2个可能的值,可以是“删除”或“恢复”。所以我想替换这个链接而不是改变它并不是什么负担。如果它能在所有浏览器中运行,我宁愿改变它。

感谢

回答

3

你不能在任何参考中找到它,因为它不是一个单独的构造,而是两个组合。

使用document.getElementById method来获取特定的元素,如果该元素是锚标记,则可以使用href property来设置URL。

这两个都在DOM level 1 specification中指定,因此它们可以安全地用于任何不超过十年的浏览器,而且大多数也有点老。

+0

没有理由以提供一个链接到DOM 1,当存在DOM 2个标准:http://www.w3.org/TR/DOM-Level-2-Core HTTP:// WWW。 w3.org/TR/DOM-Level-2-HTML – 2011-01-08 03:22:13

0

我相当肯定这是“安全”没有什么大不了的发生。它适用于我测试过的所有浏览器,并且是JavaScript改变元素属性值的标准。

0

我在这里问过类似的问题:Retrieving HTML attribute values "the DOM 0 way"

退房的答案。结论是,属性src,hrefstyle不安全,推荐使用JavaScript库。

对于href属性,我推荐jQuerys attr()方法。

// retrieve the anchor by ID 
var anchor = $('#anchorID'); 

// get the href attribute 
var href = anchor.attr('href'); 

// set the href attribute 
anchor.attr('href', 'http://www.google.com');