我坚持一些jquery,我不知道为什么它不起作用......
$('img').click(function() {
$('img').removeClass('bob');
$(this).addClass('bob');
});
var test = $('img.bob').attr('src');
$('div.button').click(function() {
alert(test);
});
基本上我需要获取所选图像的attr ID,但警报只返回'null'。
任何建议都将不胜感激。我把头发拉出来......
一个。
答案 0 :(得分:1)
请记住,在您实际点击click
之前,您分配的<img>
事件无法运行,因此在发生任何点击事件之前,尝试获取包含类.bob
的图像<img>
元素将匹配0个元素(除非您在页面加载之前将.bob
元素分配给<img>
个元素。
你需要在按钮的点击处理程序中检索'id'。
此外,您可以通过缓存找到的<img>
元素来提高代码效率(只要您在页面加载后没有动态添加其他元素)。
var $img = $('img').click(function() {
$img.not(this).removeClass('bob');
$(this).addClass('bob');
});
$('div.button').click(function() {
var test = $img.filter('.bob').attr('id');
alert(test);
});
如果您要动态添加图像,则无需缓存它们。
$('img').click(function() {
$('img').not(this).removeClass('bob');
$(this).addClass('bob');
});
$('div.button').click(function() {
var test = $('img.bob').attr('id');
alert(test);
});
答案 1 :(得分:0)
试试这个:
$('div.button').click(function() {
alert(this.id.ToString());
});