【问题标题】:Prototype: How do I find the first element with a certain class?原型:如何找到某个类的第一个元素?
【发布时间】:2012-11-18 20:36:33
【问题描述】:

我的文档中有 2 个 ul 元素。如何使用 PrototypeJS 找到 2 个中的第一个?我试过这段代码:

first = $$('ul[class="level0"]')[0];
second = $$('ul[class="level0"]')[1];

只有第一个被填满,第二个是空的。有任何想法吗?这是我的html:

<ul id="nav">
    <li class="level0 nav-1 first level-top parent">
        <ul class="level0">...</ul>
    </li>
    <li class="level0 nav-2 last level-top parent">
        <ul class="level0">...</ul>
    </li>
</ul>

谢谢:)

【问题讨论】:

  • 您的 HTML 无效。未闭合的 UL 不能位于两个 LI 之间。
  • 请检查您的代码。您的 HTML 代码中的大错误。
  • 是的,那是因为我从 Firebug 复制了它...假设关闭 ul 在那里。我还是编辑了我的帖子。
  • jsfiddle.net/uaHEm - 你问的一切都有效

标签: css prototypejs


【解决方案1】:

不要使用属性 CSS 选择器,而是使用类 CSS 选择器

first = $$('ul.level0')[0];
second = $$('ul.level0')[1];

但否则应该可以工作

还有其他方法$$()返回一个元素数组(即使是一个),你可以参考.first()

first = $$('ul.level0').first()

请让我们知道修复 HTML 是否有效,或者您的 javascript 控制台中是否出现任何错误 - 这可能会导致您遇到不同的问题

【讨论】:

    【解决方案2】:

    使用

    第一

    $('nav').down('.level0');
    

    $('nav').down('.level0', 1);
    

    干杯

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      相关资源
      最近更新 更多