jQuery:单击事件后的HI前置和下一个div

时间:2016-07-14 13:47:42

标签: javascript jquery

我的目标是在点击li元素后隐藏prev或next div。

这是剧本:

 jQuery('.menu-ul li').on('click',function(){

   var current_id = jQuery(this).data('id');
    var menu_id = '#' + current_id;

   jQuery(menu_id).next("div").attr("id").hide()
   jQuery(menu_id).prev("div").attr("id").hide();


});

上面的脚本运行正常,但是当我把函数 hide()时,我收到了这个错误:

Uncaught TypeError: jQuery(...).next(...).attr(...).hide is not a function

我该如何解决?

2 个答案:

答案 0 :(得分:0)

要使上一个元素使用$(selector).next(),并使用下一个.hide()。然后使用jQuery('.menu-ul li').on('click',function(){ var current_id = jQuery(this).data('id'); // We get the element and store it, so we don't get it twice later. var element = jQuery('#' + current_id); element.prev().hide(); element.next().hide(); }); 隐藏其中任何一个或两个。

像这样:

handler.postDelayed(updateCurrentTime, 500);

答案 1 :(得分:-2)

尝试以下代码,

jQuery('.menu-ul li').on('click',function(){

   var current_id = jQuery(this).data('id');
    var menu_id = '#' + current_id;

   jQuery(menu_id).next("div").hide()
   jQuery(menu_id).prev("div").hide();


});