href =“#report-item”但未显示在网址上 - 它是如何工作的

时间:2014-04-20 07:34:23

标签: html

我想知道如何在this web site中,当我将鼠标悬停在页面的报告广告上时,它会将链接显示为....com/***/***#report-item,但是当我点击它时,它会显示我的流行音乐-up。但原始网址仍然没有更改为....com/***/***#report-item

我查看了该页面的来源,并将链接代码显示为: <a href="#report-item" class="btn report" data-ui-nav="modal"><span><i class='ico-report'></i>Report Ad</span></a>

1 个答案:

答案 0 :(得分:0)

这是因为它们会阻止浏览器执行它的意图(默认事件)。

以下是JavaScript代码:

event.preventDefault();

您可以在元素中包含该内容,例如

<a href="#hash-tag" onclick="function()">Link</a>

在函数内部添加该代码。它会阻止默认功能;那就是改变URL。

也许他们正在使用jQuery因为我在元素中看不到任何类型的onclick=""。所以他们可能会这样做:

<a href="#report" class="btn report">Generate Report</a>

,jQuery代码如下:

$('a.report').click(function () {
   event.preventDefault(); // prevent the default function of the hyperlink
   /* show the pop up */
});

这样,网站就会阻止默认功能,并使用该链接执行其他功能。

这是一个小提琴:http://jsfiddle.net/afzaal_ahmad_zeeshan/3zPd6/

获取元素属性

要在JavaScript中获取元素的属性,请使用以下代码

document.getElementById("hyperlinkId").href;

这将获得超链接的href。你可以在电话中引用它。