来自RoToRa的这个javascript代码做我想要的: http://jsbin.com/ayoqem/7/edit#javascript,html,live 什么jQuery代码将执行相同的任务?哪个更好?
答案 0 :(得分:1)
当然,如果您不需要使用jQuery,那么您已经使用的javascript就可以了。但是如果您使用的是jQuery,那么只需3行代码即可完成相同的任务。
$(document).ready(function() {
$(".qa input[type=checkbox]").click(function() {
$(this).parent().parent('div').toggleClass('show_answer');
});
});
请注意,我还从HTML中删除了内联javascript(onclick="hlt_showhide(this)"
)。
答案 1 :(得分:0)
如果您不需要jQuery,请不要使用它。 jQuery是建立在JavaScript之上的。所以如果你已经有了纯JS的代码,你为什么要在jQuery中使用它?
jQuery相当于在逐行流程方面非常相似,只是它会使用jQuery的.parent()
来选择父元素和.addClass()
& .removeClass()
做这些行动。
答案 2 :(得分:0)
function hlt_showhide(checkbox) {
$checkbox = $(checked); // just to cache it really!
var qaDiv = $checkbox.parent().parent();
if ($checkbox.attr('checked')) {
qaDiv.addClass("show_answer");
} else {
qaDiv.removeClass("show_answer");
}
}
但坦率地说,我没有看到在这里使用jQuery的意义! JS可以解决问题。