为什么a标签的href里写的是js代码,而不是直接写链接地址

JavaScript015

为什么a标签的href里写的是js代码,而不是直接写链接地址,第1张

<a>标签的 href 属性用于指定超链接目标的 URL,href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。

这里的href="javascript:",其中javascript:是伪协议,它可以让我们通过一个链接来调用javascript函数.而采用这个方式 javascript:可以实现A标签的点击事件运行时,如果页面内容很多,有滚动条时,页面不会乱跳,用户体验更好。

两种方法都可以:

1.用getAttribute()方法:

alert(bgtm.querySelectorAll("area")[0].getAttribute("href"))

2.用点获取属性值:

alert(document.getElementsByTagName("area")[0].href)

这里的area用两种方法都可以。

但我测试过,具体不同的标签获取方法不一样,上面两种方法有些标签只能用其中一种。具体为什么我就不太清楚了。

反正要用的时候,两种方法你都可以试一下。

应该使用setAttribute方法设置属性。

a元素的href属于元素属性,所以需要使用元素属性设置方法进行设置,而你的代码document.location是设置文档的地址。

属性设置方法第一个参数为属性名称,第二个为属性值。使用方法为:setAttribute("href", newurl)。