jQuery快捷键/用于切换类的技术
问题描述:
在jQuery中,是否有另外一种方法来编写它?jQuery快捷键/用于切换类的技术
版本1
$("#date_filter-enable").click(function() {
$("#search_dates").removeClass("hidden");
});
$("#date_filter-disable").click(function() {
$("#search_dates").addClass("hidden");
});
2版
$("input[id^=date_filter-]").click(function(e) {
var clicked = $(e.target);
var id = clicked.attr("id").split("-");
var action = id[1];
if(action == "enable")
$("#search_dates").removeClass("hidden");
else
$("#search_dates").addClass("hidden");
});
我已经习惯了编码这样......但我想知道是否有很多有效的,可读的,冷静的写作方式它...像切换,链接...最佳实践,我不知道^^
我很感谢你分享它! ^^
答
您应该使用toggleClass
方法。
$("input[id^=date_filter-]").click(function(e) {
$("#search_dates").toggleClass("hidden");
});
+0
坏的屁股。 !谢谢jball! – Woppi 2010-10-23 06:48:27
答
$("input[id^=date_filter-]").click(function(e) {
if($(this).attr("id").split("-")[1] == "enable")
$("#search_dates").removeClass("hidden");
else
$("#search_dates").addClass("hidden");
});
+0
我特意为分裂创建了变量,因为我发现这个难以阅读......但是感谢您的输入!我很感激^^ – Woppi 2010-10-23 06:51:07
而不是'$( “#search_dates”)addClass( “隐藏”);',你可能需要使用'$( “#search_dates”)隐藏()' – Chetan 2010-10-23 06:30:02