【问题标题】:jQuery :odd selectorjQuery:奇数选择器
【发布时间】:2009-11-25 01:59:16
【问题描述】:

我有一个包含多行的表格 - 我为每一行分配了一个悬停功能。 如果选定的 TR 是奇数还是偶数,我想在悬停函数中找出什么。

我使用了这个代码:

alert(tr.is(":odd"));

不幸的是它不起作用,虽然它应该(?)我总是得到“假”。

我尝试直接从 TR 元素中获取 rowIndex,例如:

alert(tr.is(":odd")+"/"+tr.get(0).rowIndex);

奇怪的事情:我得到了正确的 rowIndex,但 :odd 属性总是 False。

怎么了?

【问题讨论】:

    标签: jquery jquery-selectors


    【解决方案1】:

    :odd 伪选择器取决于在上下文或结果集中选择的元素。例如:$('ul li:odd') 将从该上下文中选择奇数元素。我建议改用这个测试:

    var odd = (tr[0].rowIndex % 2 == 0); 
    

    每隔一行将从该表达式返回true。由于rowIndex 是从零开始的,我们使用value % 2 == 0。如果它是基于一个的,您将使用value % 2 == 1 来获取奇数行。

    【讨论】:

      【解决方案2】:

      :odd 选择器从集合中删除偶数元素。

      .is() 中调用时,它查看的集合仅包含您的单个tr 元素。由于它将位于该集合中的索引 0,因此它将始终为 :even

      【讨论】:

        【解决方案3】:

        这很奇怪。 :)

        但说真的,单个项目始终是该列表的第 0 项,这是偶数。要区分偶数/奇数,您需要有一个列表。大多数人所做的就是运行一些加载函数,为奇数元素添加一个类。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-12
          • 1970-01-01
          • 2018-08-29
          • 2010-12-24
          相关资源
          最近更新 更多