所以我在jQuery方面相对不太好,而且我的一些代码不起作用,这让我非常紧张,我试图点击一个项目,发出声音(我将在稍后介绍)然后当用户重新点击按钮时,它会返回其原始状态。问题在于当我尝试重新单击具有更改的ID的按钮(通过使用此新ID作为标识符)时,它不起作用。
我在这里创建了一个JSFiddle http://jsfiddle.net/uGQVh/
非常感谢任何帮助。
$(document).ready(function(){
$('#guitar_string_e_active').click(function() {
$('#guitar_string_e_active').attr("id","guitar_string_e");
console.log("log");
});
$('#guitar_string_e').click(function guitar_string_e_clicked() {
$('#guitar_string_e').attr("id","guitar_string_e_active");
});
});
答案 0 :(得分:2)
你最好切换一个班级:
$('#guitar_string_e').click(function () {
$(this).toggleClass('active');
if (!$(this).is('.active')) console.log("not active");
else console.log("active");
});
答案 1 :(得分:0)
试试这个
更新了小提琴http://jsfiddle.net/uGQVh/1/
$(document).ready(function(){
$('#guitar_string_e').click(function (){
$('#guitar_string_e').attr("id","guitar_string_e_active");
$('#guitar_string_e_active').click(function(){
$('#guitar_string_e_active').attr("id","guitar_string_e");
console.log("log");
});
});
});
答案 2 :(得分:0)
首先,切换类而不是切换Id
会更好其次,尝试类似的东西:
$('#guitar_string_e').toggle(function() {
$(this).removeClass("guitar_string_e");
$(this).addClass("guitar_string_e_active");
}, function() {
$(this).removeClass("guitar_string_e_active");
$(this).addClass("guitar_string_e");
});