如何将页面中的所有链接(href)设置为“#”使用 JavaScript

发布于 2024-09-14 17:27:27 字数 42 浏览 2 评论 0原文

如何使用javascript将页面中的所有链接(href)设置为“#”

how to set all links(href) in the page to "#" with javascript

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凡尘雨 2024-09-21 17:27:27

不要将 HREF 更改为 #

将 onclick 函数设置为返回 false。

这将具有相同的效果,同时提供更大的可用性。

这是一个简单的示例(使用 jQuery,但适用于任何内容):

jQuery('a').click( doStuff );

function doStuff()
{
    // ...function body...

    return false;
}

这是有效的,因为从 onX 事件函数返回的值决定该事件是继续触发还是停止。返回 true 以允许其继续,或返回 false 以停止它。

使用 onclick 这意味着点击被停止(因此链接不被跟随) - 但是它仍然允许人们通过中键和右键单击与链接交互(例如在新选项卡中打开,添加到书签)等)

再举个例子,使用 onkeypress 您可以返回 false 以防止将键入的字符添加到输入控件(例如,您可以模仿 HTML5 input="numeric “ 通过让 onkeypress 对任何非数字字符返回 false 进行控制)。

DON'T CHANGE HREF TO #

Set the onclick function to return false instead.

This will have the same effect, whilst allowing greater usability.

Here's a quick example (using jQuery, but works with anything):

jQuery('a').click( doStuff );

function doStuff()
{
    // ...function body...

    return false;
}

This works because the value you return from an onX event function determines whether that event continues firing or stops. Return true to allow it to continue or false to stop it.

With onclick this means the click is stopped (so the link isn't followed) - however it still allows people to interact with the link via middle and right click (e.g. opening in new tab, adding to bookmarks, and so on)

For another example, with onkeypress you can return false to prevent the character typed from being added to an input control (for example, you could mimic the HTML5 input="numeric" control by having an onkeypress that returned false for any non-numeric characters).

猫卆 2024-09-21 17:27:27

使用 jQuery:

$('a').attr('href', '#');

Using jQuery:

$('a').attr('href', '#');
洛阳烟雨空心柳 2024-09-21 17:27:27

使用 getElementsByTagName() 方法获取标签,然后循环访问它们以设置属性。

var links = document.getElementsByTagName("a");

for (var link in links)
{
    links[link].href = "#";
}

编辑:满足非“foreach”方法。

var links = document.getElementsByTagName("a");

for(i=0;i<links.length;i++) 
{
    links[i].href = "#";
}

Use the getElementsByTagName() method to get the tags, then loop through them to set the property.

var links = document.getElementsByTagName("a");

for (var link in links)
{
    links[link].href = "#";
}

EDIT: To satisfy a non "foreach" method.

var links = document.getElementsByTagName("a");

for(i=0;i<links.length;i++) 
{
    links[i].href = "#";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文