Javascript 试图用jQuery隐藏()元素

Javascript 试图用jQuery隐藏()元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这样做的代码: $('.attachment-medium').each(function(){ $(this).click(function(){ var gallWidth = $('.gallery').width(); $('.gall-output').toggle().css('width', gallWidth); var url = $(this).attr('src').slice(0,-12) + '.jpg'; $('.gall-outp

我有这样做的代码:

$('.attachment-medium').each(function(){
$(this).click(function(){
    var gallWidth = $('.gallery').width();
    $('.gall-output').toggle().css('width', gallWidth);
    var url = $(this).attr('src').slice(0,-12) + '.jpg';
    $('.gall-output-img').html('<img class="img-responsive" src="' + url + ' "/>');
    var imgMeta = $(this).parent().next().html();
    $('#gall-output-meta').html(imgMeta);
});
});
有没有办法使用这个.gall close来隐藏或切换.gall输出


感谢您的帮助。

如果以后添加了
.gall close
,而在加载页面时不在dom中,您可以使用事件委派附加click事件:

$(document).on("click", ".gall-close", function(){
    $('.gall-output').hide();
});
任何静态父元素都可以作为容器元素来委托事件,而不是
$(document)
。如果这解决了您的问题,您可以检查“直接和委托事件”部分:

“事件处理程序仅绑定到当前选定的元素;它们必须在代码调用.on()时存在于页面上。”


你能分享html样本吗?我们需要查看你的html。这很可能是因为JQuery无法根据您的单击遍历到
.gall output
元素。
$(document).on("click", ".gall-close", function(){
    $('.gall-output').hide();
});