【问题标题】:jQuery selector for intermediate string [duplicate]中间字符串的jQuery选择器[重复]
【发布时间】:2015-12-23 13:33:23
【问题描述】:

有没有办法找到一个 div 的所有子元素,其 id 如下:-

child_*_of_parent

HTML

<div id="parent">
  <div id=child_1_of_parent>...</div>
  <div id=child_2_of_parent>...</div>
  <div id=child_3_of_parent>...</div>
  <div id=some_other_id_1>...</div>
  <div id=some_other_id_2>...</div>
</div>

我想要所有具有以下 ID 的孩子:- child_1_of_parentchild_2_of_parentchild_3_of_parent

我的尝试

jQuery("#parent").find("div[id='child_*_of_parent']");

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    尝试检查开头和结尾

    这样试试

    $("div[id ^='child_'][id $='_of_parent']")
    

    【讨论】:

    • 优雅的解决方案!!!谢谢。
    • 不客气 :) @Abhi 同名捏 :P
    【解决方案2】:
    Try the following:
    
    $("#parent div[id$=_of_parent][id^=child]")
    

    【讨论】:

    • 你能在你的代码中添加解释吗?例如id$= 表示字符串以等结尾。它可能有助于其他人试图理解您的解决方案。
    • 这些选择器非常简洁:jQuery Ends WithjQuery Starts With
    【解决方案3】:

    据我所知,可以通过两种方式完成

    匹配模式 这里只是匹配子元素的 id 模式。

    $('#parent').children().each(function(){
       if( $(this).attr('id').match("_of_parent") ) {
            console.log($(this));
       }
    });
    

    使用属性选择器。这里检查id的开始和结束模式^用于检查字符串的开始&$可用于检查结束模式

    var a =($("div[id ^='child_'][id $='_of_parent']"))
    

    WORKING MODEL

    希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 2018-07-14
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      相关资源
      最近更新 更多