jquery选择所有单选按钮(在列表和子列表中)除了某个类的那个

时间:2014-06-03 15:07:38

标签: jquery css

请注意这是一个与此类似的HTML:

 <ul>
  <li></li>
  <li>
    <ol>
      <li class="something"></li>
    </ol>
   <li>
 <ul>

我已经尝试使用jquery来选择所有单选按钮,除了父类是类的东西,事情是html有列表和子列表,jquery如下:

$('.section li:not(.something) :radio').change(function () {
   alert('hello');
});

我为此创造了一个小提琴: http://jsfiddle.net/p3Enj/

我知道在事情发生之前我已经问了一个类似的问题......我才意识到我没有正确缩短上一个问题的html ......我很抱歉......

3 个答案:

答案 0 :(得分:4)

执行更改时检查类的父li元素。尝试:

$('.section :radio').change(function () {
    if($(this).parents('li.something').length == 0)alert('hello');
});

<强> jsFiddle example

答案 1 :(得分:2)

我认为你可以使用.not()之类的

$('.section li :radio').not('li.something :radio').change(function () {
    console.log(this);
});

演示:Fiddle

答案 2 :(得分:1)

您可以使用li在更改事件中查看单选按钮所在的hasClass()

像这样:

$('.section li :radio').change(function () {
    if($(this).closest("li").hasClass("something"))
       alert('hello');
});

FIDDLE DEMO