Javascript 如果我只有一个事件,如何将元素加载到jQuery

Javascript 如果我只有一个事件,如何将元素加载到jQuery,javascript,jquery,Javascript,Jquery,如果id为空,是否有人知道如何生成jQuery变量。我一直在使用下面的代码,但是当单击的元素没有ID时会导致错误,因为我试图从中创建变量的字符串将仅为“#” 您已经在evt.target中单击了元素,因此它根本不需要id——只需将其包装在jQuery中,然后继续您的操作: $('body')。在('click touch',函数(evt)上{ if($(evt.target).parents().hasClass('popper')) 警报(“父级包含类”); }); 没有类-没有id 没有

如果id为空,是否有人知道如何生成jQuery变量。我一直在使用下面的代码,但是当单击的元素没有ID时会导致错误,因为我试图从中创建变量的字符串将仅为“#”


您已经在
evt.target
中单击了元素,因此它根本不需要id——只需将其包装在jQuery中,然后继续您的操作:

$('body')。在('click touch',函数(evt)上{
if($(evt.target).parents().hasClass('popper'))
警报(“父级包含类”);
});

没有类-没有id
没有类-没有id
有类-没有id
Has class-Has id

您不需要id。
evt.target
是元素。。。只要坚持
$(evt.target)
并使用它,在这种情况下,
evt.target
body
,它真的是你想要的目标吗?您应该在相关元素上添加事件侦听器。@Zysce我必须仔细检查它,但是如果事件源于冒泡到主体的子元素,我相信evt.target将是子元素。而在这种情况下,
始终是主体@Zysce也是一个旁注,但如果您只关心属于“.popper”元素的元素的子元素,那么您可以将其添加到原始选择器中,以缩小事件处理程序的范围,前提是它们不是动态的。
$('body').on('click touch', function (evt) {
    if ($('#' + evt.target.id).parents().hasClass('popper'))
        alert("Parent contains class");
});