Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 如何使用jquery选择多个HTML元素_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery选择多个HTML元素

Javascript 如何使用jquery选择多个HTML元素,javascript,jquery,Javascript,Jquery,我想使用jquery选择所有id=result XX的li元素,这些元素都是活动的(class=..活动的) HTML页面有: <li id="result-1" class="list-group-item hover active"> </li> <li id="result-2" class="list-group-item hover"> </li> <li id="result-3" class="list-group-item h

我想使用jquery选择所有id=result XX的li元素,这些元素都是活动的(class=..活动的)

HTML页面有:

<li id="result-1" class="list-group-item hover active">
</li>
<li id="result-2" class="list-group-item hover">
</li>
<li id="result-3" class="list-group-item hover">
</li>
然后,我们只需要获取活动的。

您必须将与结合起来才能完成任务

试试看

为了完成任务,您必须将两者结合起来

试试看


让我们分解所需的选择器:

  • li
    -这将匹配所有
    li
    元素
  • [id^=“result-”]
    -这将匹配其
    id
    属性以
    result-
    开头的所有元素
  • .active
    -这将匹配所有具有
    active
    类的元素 将它们组合在一起将为您提供所需的最终选择器:

    var elements = $( 'li.active[id^="result-"]' );
    

    为了增加可读性,我建议这样写:

    var elements = $( 'li[id^="result-"]' ).has( '.active' );
    

    这将使用过滤器将匹配元素集减少到只有
    处于活动状态的元素。

    让我们分解所需的选择器:

  • li
    -这将匹配所有
    li
    元素
  • [id^=“result-”]
    -这将匹配其
    id
    属性以
    result-
    开头的所有元素
  • .active
    -这将匹配所有具有
    active
    类的元素 将它们组合在一起将为您提供所需的最终选择器:

    var elements = $( 'li.active[id^="result-"]' );
    

    为了增加可读性,我建议这样写:

    var elements = $( 'li[id^="result-"]' ).has( '.active' );
    

    这将使用筛选器将匹配元素集减少为仅具有
    活动类的元素。

    第一个元素应该可以工作,但您的选择器是错误的。它应该是
    $('li[id^=“result-”)

    您可以使用
    $('li[id^=“result-”).filter(“.active”)
    将集合减少为仅为
    活动的
    集合,例如

    var elements, activeElements;
    elements = $('li[id^="result-"]');
    activeElements = elements.filter(".active");
    

    请参见

    第一个选项应该有效,但您的选择器错误。它应该是
    $('li[id^=“result-”)

    您可以使用
    $('li[id^=“result-”).filter(“.active”)
    将集合减少为仅为
    活动的
    集合,例如

    var elements, activeElements;
    elements = $('li[id^="result-"]');
    activeElements = elements.filter(".active");
    


    请参见

    @Olly谢谢。。那是个打字错误。真的很感谢你指出错误。我想ppl只是为了好玩才打乱了否决票。。。我投了赞成票。如果从“结果-1”表达式中删除1也可以。如果有人投反对票,也可以解释原因。这将返回匹配元素的数量,而不是元素本身。@Olly谢谢。。那是个打字错误。真的很感谢你指出错误。我想ppl只是为了好玩才打乱了否决票。。。我投了赞成票。如果你从“结果-1”表达式中删除1也没关系。如果有人放弃投票,也可以解释原因。这会返回匹配元素的数量,而不是元素本身。$('li.active[id^=“result-”])将完成工作。$('li.active[id^=“result-”])将完成缺少方括号的工作?同样的原因为什么第一个不会work@jenson-按钮事件为什么你不在我的帖子上提交编辑。?这是一个有效的答案,对吗。?缺少方括号。?@Raj-erm不确定你的意思,有人在实际帖子中留下了一些关于缺少方括号的评论,实际上就在那里,所以我删除了它们<代码>$('li[id^=“result-”].active')
    是我所需要的see@jenson-按钮事件感谢您的发现!修好了。我甚至在另一个答案中更正了它…缺少方括号?同样的原因为什么第一个不会work@jenson-按钮事件为什么你不在我的帖子上提交编辑。?这是一个有效的答案,对吗。?缺少方括号。?@Raj-erm不确定你的意思,有人在实际帖子中留下了一些关于缺少方括号的评论,实际上就在那里,所以我删除了它们<代码>$('li[id^=“result-”].active')
  • 是我所需要的see@jenson-按钮事件感谢您的发现!修好了。我甚至在另一个答案中更正了它……第一部分还可以。我不知道为什么,“.has('.active')”方法不起作用。结合奥利·霍奇森的建议(.filter),效果不错。谢谢,第一部分没问题。我不知道为什么,“.has('.active')”方法不起作用。结合奥利·霍奇森的建议(.filter),效果不错。非常感谢。