根据属性选择第一个孩子

ollie314

我希望能够选择在其中定义属性的特定子项集。

但是如何选择具有该属性的根选择器的第一个子级的子级 data-role

first-of-type 由于元素的类型,选择器不起作用。

在这里,我们有一个DOM示例。

<body>
    <div data-role="ca:panel" title="foo">
        <div data-role="ca:vbox" width="100%">
            <div data-role="ca:form">
                <div data-role="ca:formitem">
                    <div data-role="ca:hbox">
                        <input data-role="ca:textinput">
                        <div data-role="ca:menu"></div>
                    </div>
                </div>
                <div data-role="ca:formitem">
                    <input data-role="ca:passwordinput">
                </div>
                <div data-role="ca:formitem">
                    <select data-role="ca:combobox">
                        <option>[...]</option>
                    </select>
                </div>
            </div>
            <table>
                <tbody>
                    <tr>
                        <td>
                            <span data-role="ca:label"></span>
                        </td>
                        <td>
                            <button data-role="ca:button"></button>
                        </td>
                        <td>
                            <button data-role="ca:button"></button>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

</body>

我的过滤器应仅选择

  • <div data-role="ca:form">
  • <span data-role="ca:label"></span>
  • <button data-role="ca:button"></button>
  • <button data-role="ca:button"></button>

它在任何情况下都应该起作用,这意味着,它不应链接到dom的特定结构,而必须使用data-role作为“选择器”。

我不是相关的jQuery开发人员。我尝试了一些选择器,例如,$('[data-role]:first-of-type');但它不起作用。

您是否有一个选择合适孩子的想法?

注意:寻找第一个父母不是问题。

去编码

只要您有起始节点,就可以使用过滤器进行此操作:

JSFilter:http : //jsfiddle.net/TrueBlueAussie/2uppww9s/5/

var root = $('[data-role="ca:vbox"]');
var matches = root.find('[data-role]').filter(function(){
    return $(this).parentsUntil(root, '[data-role]').length == 0;
});
alert(matches.length);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

选择除最后一个孩子以外的每个孩子,但如果最后一个孩子是第一个也是唯一的孩子,则选择它

来自分类Dev

如何在混合容器中选择班级的第一个孩子/最后一个孩子?

来自分类Dev

根据第一个选择观察updateSelectInput

来自分类Dev

选择第一个孩子以外的奇数元素

来自分类Dev

DIV上的第一个孩子选择无效

来自分类Dev

CSS-选择除第一个孩子以外的所有孩子

来自分类Dev

根据列表元素的数量为li的第一个孩子设置不同的边距

来自分类Dev

CSS选择器选择第一个孩子,然后排除孙子?

来自分类Dev

错开:最初选择后的第一个孩子?

来自分类Dev

使用CSS选择器从嵌套元素中获取第一个孩子

来自分类Dev

选择最后一个孩子,除非它也是第一个孩子

来自分类Dev

使用第一个孩子的CSS伪选择器

来自分类Dev

无法在此33个元素的节点列表中选择第一个孩子

来自分类Dev

向第一个孩子添加id属性

来自分类Dev

选择每个导航属性的第一个

来自分类Dev

选择除最后一个孩子以外的每个孩子,但如果最后一个孩子是第一个也是唯一的孩子,则选择它

来自分类Dev

生第一个孩子

来自分类Dev

如何选择特定的第一个孩子

来自分类Dev

如何使用linq选择一个孩子的第一个孩子?

来自分类Dev

xpath选择第一个孩子并检查值

来自分类Dev

CSS-根据第一个孩子修改父对象

来自分类Dev

div的第一个孩子

来自分类Dev

如何仅选择第二个li元素的第一个孩子

来自分类Dev

CSS:有班级的孩子的第一个孩子

来自分类Dev

选择嵌套div中的第一个孩子

来自分类Dev

jQuery选择Element的第一个实例的第二个孩子

来自分类Dev

第一个孩子的选择

来自分类Dev

选择正确的第一个孩子

来自分类Dev

如何在第一个孩子中选择第一个孩子

Related 相关文章

  1. 1

    选择除最后一个孩子以外的每个孩子,但如果最后一个孩子是第一个也是唯一的孩子,则选择它

  2. 2

    如何在混合容器中选择班级的第一个孩子/最后一个孩子?

  3. 3

    根据第一个选择观察updateSelectInput

  4. 4

    选择第一个孩子以外的奇数元素

  5. 5

    DIV上的第一个孩子选择无效

  6. 6

    CSS-选择除第一个孩子以外的所有孩子

  7. 7

    根据列表元素的数量为li的第一个孩子设置不同的边距

  8. 8

    CSS选择器选择第一个孩子,然后排除孙子?

  9. 9

    错开:最初选择后的第一个孩子?

  10. 10

    使用CSS选择器从嵌套元素中获取第一个孩子

  11. 11

    选择最后一个孩子,除非它也是第一个孩子

  12. 12

    使用第一个孩子的CSS伪选择器

  13. 13

    无法在此33个元素的节点列表中选择第一个孩子

  14. 14

    向第一个孩子添加id属性

  15. 15

    选择每个导航属性的第一个

  16. 16

    选择除最后一个孩子以外的每个孩子,但如果最后一个孩子是第一个也是唯一的孩子,则选择它

  17. 17

    生第一个孩子

  18. 18

    如何选择特定的第一个孩子

  19. 19

    如何使用linq选择一个孩子的第一个孩子?

  20. 20

    xpath选择第一个孩子并检查值

  21. 21

    CSS-根据第一个孩子修改父对象

  22. 22

    div的第一个孩子

  23. 23

    如何仅选择第二个li元素的第一个孩子

  24. 24

    CSS:有班级的孩子的第一个孩子

  25. 25

    选择嵌套div中的第一个孩子

  26. 26

    jQuery选择Element的第一个实例的第二个孩子

  27. 27

    第一个孩子的选择

  28. 28

    选择正确的第一个孩子

  29. 29

    如何在第一个孩子中选择第一个孩子

热门标签

归档