【问题标题】:Alert is not working with anchor tag警报不适用于锚标记
【发布时间】:2012-11-06 19:55:35
【问题描述】:

我已经创建了 2 个锚标记,然后我创建了一个函数,如果您单击第一个锚标记,一个新类将添加到第二个锚标记,然后当您单击第二个锚标记时,它将显示一个警报,其中它显示了带有添加类的锚标记的文本。但它不适合我。

以下是供您参考的代码:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Title</title>
    <script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
    <style type="text/css">
        .highlight{background-color:yellow;}
    </style>
    <script>
        $(function(){
            $("a:eq(0)").click(function(){
                $("a:eq(1)").addClass("highlight");
            });

            $("a.highlight").click(function(){
                alert($(this).text());
            });
        });
    </script>
</head>
<body>
    <a href="#">first</a>
    <a href="#">second</a>
</body>

【问题讨论】:

    标签: jquery


    【解决方案1】:

    这应该用于第二个:

    $("a.highlight").live('click', function(){
    
      alert($(this).text());
    
    });
    

    请检查此jsFiddle

    但是,如果您使用的是 jQuery 1.7 或更高版本,我们建议您使用on() 方法。详情请查看doc

    【讨论】:

    • +1,但最好将 on 方法显示为默认值,并将“旧版本信息”保留为脚注。
    • 我不知道他用的是哪个版本!由于许多人还没有升级到最新的 jQuery,我想提供一个适用于大多数人的解决方案。很少有人是完美主义者 :-)!
    • 我可以在很多方面反对这一点,但让我们选择这个:文档说.live()弃用。这意味着“避免使用它”。我认为你应该帮助人们做到这一点。 :)
    【解决方案2】:

    我相信这里的问题是当脚本执行时没有与highlight类的锚链接

    一个简单的解决方法是在 jQuery 中使用 on 方法。只需更改行$("a.highlight").click(function(){

    对此:

    $("body").on("click", "a.highlight", function(){
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 2011-09-22
      • 2019-03-24
      • 2016-10-05
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      相关资源
      最近更新 更多