Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多ID jQuery选择器返回的结果与单个ID选择器返回的结果不同_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 多ID jQuery选择器返回的结果与单个ID选择器返回的结果不同

Javascript 多ID jQuery选择器返回的结果与单个ID选择器返回的结果不同,javascript,jquery,html,css,Javascript,Jquery,Html,Css,因此,我有一些下拉菜单,我最初设置,以找出已选择的下拉菜单,然后加载元素,没有问题 现在我添加了一组新的下拉列表,我现有的函数现在也适用于这个下拉列表,因为它非常广泛 $(document).on('click', '.dropdown-menu li a', function () {...} 现在,我在一个模式中的4个不同选项卡上有这些下拉列表,我只希望最后一个选项卡的功能不同于其他三个选项卡,因此我想创建一个功能,用于原来的3个选项卡,一个用于第4种类型的选项卡 前三个选项卡ID #ra

因此,我有一些下拉菜单,我最初设置,以找出已选择的下拉菜单,然后加载元素,没有问题

现在我添加了一组新的下拉列表,我现有的函数现在也适用于这个下拉列表,因为它非常广泛

$(document).on('click', '.dropdown-menu li a', function () {...}
现在,我在一个模式中的4个不同选项卡上有这些下拉列表,我只希望最后一个选项卡的功能不同于其他三个选项卡,因此我想创建一个功能,用于原来的3个选项卡,一个用于第4种类型的选项卡

前三个选项卡ID

#racksTab
#condenserTab
#glycolTab
第四个选项卡(不同) #警报选项卡

所以我的问题是,为什么我的选择器使用多个ID而不是1个ID时会得到不同的结果

$(document).on('click', '#racksTab,#condenserTab,#glycolTab .dropdown-menu li a', function () {...}
这个函数给了我

但是如果我让选择器只使用一个id,它就会得到我想要的子节点

$(document).on('click', '#racksTab .dropdown-menu li a', function () {...}

我想这可能就是你的目标:

$(document).on('click', '#racksTab .dropdown-menu li a, #condenserTab .dropdown-menu li a, #glycolTab .dropdown-menu li a'

因为使用此选择器:

#机架选项卡、#冷凝器选项卡、#乙醇选项卡。下拉菜单li a

您的目标是三个要素:

  • Id为的元件
    racksTab

  • Id为的元素
    concertAB

  • a
    li中的元素
    li
    Id元素的子元素。下拉菜单
    Id元素的子元素
    glycolTab

  • 我猜您希望所有元素都像第三个一样,因此您的选择器必须是:

    #机架选项卡。下拉菜单li a,#冷凝器选项卡。下拉菜单li a,#乙醇选项卡。下拉菜单li a




    注意:也许您根本不需要这些选择器,我认为您可以使用更合适的选择器来改进代码,如注释上的@j08691点,但所有这些都将基于真实的标记,如果您添加它,我们可以帮助您改进代码。

    为什么不干脆使用
    $(“#Rack1”)
    ?如果有其他人也使用他们的ID,
    .dropdown menu li a
    不适用于所有三个ID,它只适用于最后一个ID,我认为您需要使用此选择器:
    #racksTab.dropdown menu li a,#concertab.dropdown menu li a,#glycolTab.dropdown menu li a
    解释得很好+1哦,好吧,这是有道理的,出于某种原因,我认为
    。dropdown menu li a
    将应用于所有三个id选择器,而不仅仅是最后一个。@EricG始终记得Jquery上的选择器的工作方式与CSS上的工作方式几乎相同