6

我正在使用 jQuery 来检查元素是奇数还是偶数

 $("#map183").parent().is(':even');

这将根据元素的位置返回truefalse 。

但是,这将始终返回 false

   function whereAreWe(myself,range){
        var parent = myself.parent();
        var position = parent.is(':even');
        alert(position);
        //outputs false
   }

   $('.hasSVG').on('click', function(){
        whereAreWe($(this),2);
   });

我在这里有一个工作示例:JSFiddle

在示例中,您将看到我正在尝试查看所述元素的父级(.line)是奇数还是偶数。

4

1 回答 1

2

这是因为 :even 选择器仅在列表中有用,但 parent 仅指一个对象。因此, :即使列表为 1 也没有意义。

但是,您有指示行号的 ID

var position = parent.attr("id").substr(4) % 2 == 0;
console.log(position);

提取 id 并从“lineX”中删除“line”-string 为您提供行号 X。使用 MOD 2 进行检查(或者使用 1 进行按位与:)

var position = ((parent.attr("id").substr(4) & 1) == 1);

会成功的。

于 2013-02-05T01:40:47.983 回答