我的目标是在点击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
我该如何解决?
答案 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();
});