Javascript jQuery+;Rails:如何获取用户单击的按钮id
我花了几个小时试图解决这个问题,并回顾了其他类似的StackOverflow问题,但似乎没有人能回答我的问题 我无法通过此错误:Javascript jQuery+;Rails:如何获取用户单击的按钮id,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,我花了几个小时试图解决这个问题,并回顾了其他类似的StackOverflow问题,但似乎没有人能回答我的问题 我无法通过此错误:引用错误:未定义id。警报也不显示 $("button.btn-tag-cat").click(function(e){ e.preventDefault(); var id = $(this).prop('id'); alert(id); id.find('span').show(); }, function(){
引用错误:未定义id
。警报也不显示
$("button.btn-tag-cat").click(function(e){
e.preventDefault();
var id = $(this).prop('id');
alert(id);
id.find('span').show();
}, function(){
id.find('span').hide();
});
我尝试了以下几种方法来使用id变量,但都不起作用
$(id).find('span').show();
$("#" + id).find('span').show();
但是,当我删除警报下面的代码块时,警报会弹出,并带有属于按钮的正确id。
$("button.btn-tag-cat").click(function(e){
e.preventDefault();
var id = $(this).prop('id');
alert(id);
});
查看部分:
按钮id引用ruby局部变量id=”“
正如您所注意到的,错误是链接单击侦听器中的函数 为了获得id属性,可以使用jQuery
attr
函数,如:
$("button.btn-tag-cat").click(function(e) {
e.preventDefault();
var id = $(this).attr('id');
alert(id);
$('#' + id).find('span').show();
});
$(“button.btn tag cat”)。单击(函数(e){
e、 预防默认值();
var id=$(this.attr('id');
警报(id);
$('#'+id).find('span').show();
});代码>
按此处,在您的代码中,我将美化它以查看您的错误:
$("button.btn-tag-cat").click(
function(e) {
e.preventDefault();
var id = $(this).prop('id');
alert(id);
id.find('span').show();
},
function() {
id.find('span').hide();
}
);
请注意,第二个函数
function() {
id.find('span').hide(); // right here
}
但id尚未定义
试一试
感谢您的明确响应,但是,我现在得到了以下错误:TypeError:id.find不是一个函数使用$(id)
而不是id。id是一个字符串。使用$('#'+id)。查找(…)
function() {
id.find('span').hide(); // right here
}
function() {
var id = $(this).prop('id'); // this first
id.find('span').hide();
}