链接列表:使用事件侦听器使 HTML 结构尽可能简单

发布于 2024-10-22 19:16:42 字数 562 浏览 2 评论 0原文

从我记事起,我就一直在做以下事情:

<ul>
  <li><a href="somewhere">Some text</a></li>
</ul>

因为它只是一个链接列表,没有其他任何东西,我知道我可以这样做来简化结构:

<ul>
  <li onclick="window.location.href='somewhere'">Some text</li>
</ul>

我刚刚将 HTML 结构减轻了 50%。如果我有 100 行,我将有 100 个元素,而不是 200 个。

当然,我应该在内联 onclick 上使用事件侦听器,但我不知道如何...我该如何使用事件侦听器(而不是内联 onclick)来创建链接列表?请参阅此处了解这样做的动机。

I've been doing the following for as long as I can remember:

<ul>
  <li><a href="somewhere">Some text</a></li>
</ul>

Since it's just a list of links, nothing else, I know I can do this to simplify the structure:

<ul>
  <li onclick="window.location.href='somewhere'">Some text</li>
</ul>

I've just lightened the HTML structure by 50%. If I have 100 rows, I’d have 100 elements instead of 200.

Of course, I should use event listeners instead on inline onclick, but I don't know how... How do I use event listeners (instead of inline onclick) to create a list of links? See here for the motivation for this.

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

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

发布评论

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

评论(1

鹿港巷口少年归 2024-10-29 19:16:42

如果您不介意使用 jQuery,您可以查看将单击处理程序绑定到元素的基本 jQuery 教程。这样,您可以一次将 onclick 设置为 all

  • http://jsfiddle.net/7zba5/1/

    HTML:

    <ul>
        <li data-url="http://www.google.com">Google</li>
        <li data-url="http://www.stackoverflow.com">Stack Overflow</li>
        <li data-url="http://www.superuser.com">Super User</li>
    </ul>
    

    JavaScript:

    $('li').click(function() {
        window.location.href = $(this).data('url');
    });
    

    If you do not mind using jQuery, you could have a look at basic jQuery tutorials of binding click handlers to elements. This way, you can set an onclick to all <li> at once:

    http://jsfiddle.net/7zba5/1/

    HTML:

    <ul>
        <li data-url="http://www.google.com">Google</li>
        <li data-url="http://www.stackoverflow.com">Stack Overflow</li>
        <li data-url="http://www.superuser.com">Super User</li>
    </ul>
    

    JavaScript:

    $('li').click(function() {
        window.location.href = $(this).data('url');
    });
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文