繁体   English   中英

onclick HTML和jQuery不起作用

[英]onclick html and jquery doesn't work

我的jQuery和html代码有问题,当我单击包含onclick事件的<a>元素时,什么也没有发生。

这是HTML代码

<a href='http://gomusic.designerbh.com/profile/bar_53d6af107ee03/'>Cabana</a>
<a href='javascript:void(0)' onclick='actus("actuevent_53d6e48c65b68")' style='float:right;width:24px;height:12px;background:url(http://gomusic.designerbh.com/img/arrow.png) no-repeat bottom center'></a>
<span style='float:right;color:#ccc;margin:0px 10px 0px 0px'>49 Minutes ago</span>
<div class='actusevent_53d6e48c65b68' style='z-index:1;position:absolute;width:200px;padding:10px;background:#fff;margin:10px 0px 0px 260px;border:1px solid #ccc;border-radius:5px'>content here</div>

这是JS代码,当我使用此代码时,没有任何反应

function actus(b){
    $(".actus"+b).hide();
}

但是,当我这样做时,代码将警告值122并正常工作

function actus(b){
    alert('122');
}

我已经调试了。 我正在使用最新版本的Chrome和jquery-1.9.1.min.js

您选择的JavaScript错误,请尝试

function actus(b){
            $(".actus"+b).hide();
        }

  onclick='actus("event_53d6e48c65b68")'

您的参数值不同于类的名称。

注意onclick='actus("actuevent_53d6e48c65b68")'class='actusevent_53d6e48c65b68'

另一件事:您尝试在actus()获取的元素肯定与您的参数值不匹配。 我建议您将参数值更改为以“ event_”而不是“ actuevent_”开头,或者可以将actus actus()元素的前缀更改为: $(".actusevent_")

编辑下面的Barmars评论-您可以将其拆分:

function actus(b){
    var i = b.split('_');
    $(".actusevent_"+b[1]).hide();
}

看看你的类名,它包含下划线- _ 您想要的是:

function actus(b){
    $(".actusevent_"+b).hide();
}

错误:

  • 当您的类实际上称为actusevent时,您正在尝试调用$('.actus' + b).hide()
  • 您还缺少jQuery函数中的_ 所以它永远都行不通。

有更有效的方法可以做到这一点。 如果您可以控制创建DOM元素的方式,则可以创建以下内容:

<a href='javascript:void(0)' id="my-link" data-actus-event='53d6e48c65b68' style='float:right;width:24px;height:12px;background:url(http://gomusic.designerbh.com/img/arrow.png) no-repeat bottom center'></a>

现在创建绑定:

$(document).on('click', 'a#my-link', function(e){
    e.preventDefault();
    var actusevent = $(this).data('actus-event');

    $('.actusevent_' + actusevent).hide();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM