我有一个向下滑动div的链接,如下所示。但最初这个链接没有onclick
处理程序,我使用jQuery代码插入它。
<a href="#" id="Link_1">Show Div</a>
现在以下是jquery代码
//id comes from a loop which runs from 1 to 15
$("#Link_"+id).attr('onclick','$(\'#Div_'+id+'\').slideToggle(\'slow\');');
$("#Link_"+id).attr('style','color:white;');
$("#Link_"+id).attr('value','0');
最后两行是插入属性,但第一行不起作用,我也没有收到任何错误。我正在使用jQuery 1.4
修改
现在出乎意料的是,我只是靠运气试了一下, 第一行是在jquery 1.9.为什么?
答案 0 :(得分:4)
你无法添加这样的点击处理程序,请尝试这样做:
$("#Link_"+id).live('click', function(){
$('#Div_'+id+'').slideToggle('slow');
});
答案 1 :(得分:0)
尝试以这种方式绑定它:
$("#Link_"+id).on("click", function () {
$('#Div_'+id+).slideToggle('slow');
});
因为你正在使用jquery 1.4。您需要live
而不是on
$("#Link_"+id).live( "click", function() {
$('#Div_'+id+).slideToggle('slow');
});
答案 2 :(得分:0)
我建议改用.click()
。
$("#Link_"+id).click(function(){
$('#Div_'+id).slideToggle('slow');
return false;
});
回答编辑:jQuery 1.9检查您是否尝试设置事件处理程序并添加处理程序而不是设置属性。 jQuery 1.4没有这样的检查。 (我查看了来源)