原型js中有“不等于”选择器吗?

时间:2011-07-09 04:43:35

标签: jquery prototypejs

我在Jquery中有这个功能,基本上当你点击ID“MyID”时,会对所有li标签做一个fadetoggle,其中类不等于“nav”:

$("#MyID").click(function () {
    $('li[class!="nav"]').fadeToggle("fast", "linear");
});

有没有办法在Prototype js中执行此操作?具体来说有一种方法可以使用一个选择一个类的选择器!=(不等于)某些东西?

2 个答案:

答案 0 :(得分:6)

试试这个,

     $("MyID").click(function () {
              $$('li :not(.nav)').fadeToggle("fast", "linear");
      });

希望这会有所帮助......

答案 1 :(得分:2)

来自Prototype documentation

  

支持的CSS语法

     

...

     
      
  • 属性选择器:[attr][attr=value][attr~=value][attr|=value]的完整CSS 2.1集。它还支持[attr!=value]。如果您要匹配的值包含空格,请务必将该值括在引号([title="Hello World!"])中。
  •   

所以'不等于'比较器仍然有效,你只需要记住使用$$函数。

然而,tylermwashburn指出它可能与类名不同。

Event.observe('MyID', 'click', function() {
    Effect.multiple($$('li:not(.nav)'), function(element){
        Effect.toggle(element, 'appear');
    });
});

选择器:not(.nav)explained here

:not(class~=nav)相同