【问题标题】:Mootools - selecting a DOM element by its classesMootools - 通过其类选择 DOM 元素
【发布时间】:2010-01-11 21:10:48
【问题描述】:

我使用 MooTools,我需要找到同时具有“a”和“b”类的元素(下面我的示例中最里面的 div)。

HTML 结构是:

<div class="a">
   <div class="otherclass">
      <div class="b"></div>
   </div>
 </div>

据我所知,在 jQuery 中它是 $("div .a .b")。 mootools 的语法是什么?我试过了

$$("div .a .b")

但它不返回任何结果。

谢谢!

-- 为了清除问题,我只想获取具有两个类的 div(在这种情况下,只有一个。)谢谢。

【问题讨论】:

    标签: javascript mootools css-selectors


    【解决方案1】:
    var divsB = $$("div.a div.b");
    

    http://mootools.net/shell/jfnWK/ - 选择第一个但不选择第二个,因为它不是 div.a 的子项

    【讨论】:

    • 非常感谢这个出色的工具。你给出的表达式给出了错误的输出:结果是 1 2,这意味着我也得到了只有“b”类的 div,我只想得到那些同时有“a”和“b”的 div "。
    • 你真的应该看看火狐/任何浏览器控制台——它只会返回第一个实例。出于说明目的,您将 1 2 视为 html - 这不是选择器返回的内容。您的原始选择器是错误的-您正在调用具有任何子类元素“a”的任何 div 元素以及具有任何子类元素“b”的任何 div 元素-因此它是 3 级选择器,并且在 mootools -> div -> 中将是相同的a -> b,而不是与您的标记匹配的 div.a -> div.b。
    【解决方案2】:

    怎么样

    $$('div.a div.b')
    

    或

    $$("div.a").getElements("div.b");
    

    【讨论】:

    • 我认为 'div.a div.b' 给出的结果太宽了(意味着不仅具有“a”和“b”类的 div,还包括那些只有“b”或只有“一个”)。关于第二种方法,难道没有更短的类似css的方式来定义选择器吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-12-21
    • 2018-05-13
    • 1970-01-01
    • 2013-08-13
    • 2017-05-11
    • 2011-06-16
    • 2017-04-07
    • 1970-01-01
    相关资源
    最近更新 更多