javascript与jQuery:突出显示某些文本,同时更改其他文本的可见性

时间:2012-07-13 01:54:00

标签: javascript jquery

来自RoToRa的这个javascript代码做我想要的: http://jsbin.com/ayoqem/7/edit#javascript,html,live 什么jQuery代码将执行相同的任务?哪个更好?

3 个答案:

答案 0 :(得分:1)

当然,如果您不需要使用jQuery,那么您已经使用的javascript就可以了。但是如果您使用的是jQuery,那么只需3行代码即可完成相同的任务。

http://jsfiddle.net/RWzQT/1/

$(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可以解决问题。