jquery新手问题

时间:2010-12-02 16:55:47

标签: jquery

我需要你的帮助为复选框创建一个jquery函数,当它们被禁用时,我几乎想要做一些事情,比如输入有属性,禁用将css应用到它旁边的标签,如果不做什么的话。在此先感谢您的帮助。

html看起来像这样:

<div class="add-filters">
  <table>
    <tr>
      <td>
       <input type="checkbox" id="filter" name="filter" disabled="disabled" />
       <label for="filter">Filter</label>
      </td>
    </tr>
  </table>
</div>

4 个答案:

答案 0 :(得分:3)

您可以使用CSS3 :disabled伪类和下一个相邻的兄弟选择器+

$("input:disabled + label").css(/* ... */);

这也可以在支持CSS3的浏览器中使用JavaScript而无效:

input:disabled + label {
    color: silver;
}

工作演示:http://jsfiddle.net/g76U4/

答案 1 :(得分:1)

$('input[type="checkbox"]').each(function() {
  if($(this).attr('disabled')) {
    $(this).siblings('label').addClass('newClassName');
  }
});

答案 2 :(得分:1)

更容易阅读:

$('input:checkbox:disabled').next().css({color:'#000'}); // use your own styles.

或与班级:

$('input:checkbox:disabled').next().addClass('yourclass');

http://api.jquery.com/disabled-selector/

如果您的DOM发生了变化,您可以这样做:

$('input:checkbox:disabled').siblings('label:first').addClass('yourclass');

答案 3 :(得分:0)

$(function() {
  $("input[disabled], textarea[disabled]").each(function() {
    $(this).next('label').css('color','#0000FF');
  });
});