Jquery 如何隐藏使用.after()添加的某些标记?

Jquery 如何隐藏使用.after()添加的某些标记?,jquery,Jquery,在我使用的导航栏中,jquery在“活动”项中添加了一个箭头: $('.top-bar-wrapper li.active a').after('<div class="nav-active-arrow"></div>'); 还有一点-例如,我在一些活动上做了一个.show。但是,上面的代码不适用于我,我猜这是因为.nav active arrow是在.after()函数中创建的 我的想法正确吗?有什么建议吗?您不需要$(“.nav活动箭头”)外侧单击,需要将其置于单击

在我使用的导航栏中,jquery在“活动”项中添加了一个箭头:

$('.top-bar-wrapper li.active a').after('<div class="nav-active-arrow"></div>');
还有一点-例如,我在一些活动上做了一个.show。但是,上面的代码不适用于我,我猜这是因为
.nav active arrow
是在
.after()
函数中创建的

我的想法正确吗?有什么建议吗?

您不需要
$(“.nav活动箭头”)
外侧单击,需要将其置于单击事件中,以确保其
可用性

$('#nav-bar-churches').click( function(e) {
  var navArrow = $('.nav-active-arrow');
  churchesBar.show();
  navArrow.hide();
  e.stopPropagation();
});

试着把你的
var-navArrow=$('.nav-active-arrow')在单击功能内,如下所示:

$('#nav-bar-churches').click( function(e) {    
  churchesBar.show();
  var navArrow = $('.nav-active-arrow');
  navArrow.hide();
  e.stopPropagation();
});
或者,更简洁地说:

$('#nav-bar-churches').click( function(e) {    
  churchesBar.show();
  $('.nav-active-arrow').hide();
  e.stopPropagation();
});

原因是您正在“抓取”页面加载时对“.nav active arrow”的引用。(当它还不存在时)当您确定它存在时,您需要将它移动到click事件内部。
$('#nav-bar-churches').click( function(e) {    
  churchesBar.show();
  $('.nav-active-arrow').hide();
  e.stopPropagation();
});