0

次の表のマークアップがあります

<table>
 <tr>
  <td>
   <checkbox />
  </td>
  <td id="delete">

  </td>  
 </tr>
 <tr>
  <td>
   <checkbox />
  </td>
  <td id="delete">

  </td>  
 </tr>
</table>

私が達成したいのは、ユーザーが列の1つのチェックボックスをクリックすると、同じ行の列(削除のID)にクラスを追加したいということです。どうすればこれを達成できますか?列がチェックボックスの横の列にない場合があります。

4

3 に答える 3

2

まず、属性は一意でなければならないためclass、削除を使用する必要があります。次に、次のようなものが機能するはずです。id

$('input[type="checkbox"]').change(function() {
    $(this).closest('td').siblings('.delete').addClass('foo');
});
于 2013-01-21T10:08:05.000 に答える
2

デモ

1 ページに複数の ID を含めることはできません!!!

$('table :checkbox').change(function(){
  $(this).closest('tr').find('.delete').addClass('something');
});

http://api.jquery.com/closest/
http://api.jquery.com/find/
http://api.jquery.com/addclass/

それはあなたの質問に直接答えることでした。しかし、チェックボックス
について話すと、このトグル機能が必要だと思います:

$('table :checkbox').change(function(){
  $(this).closest('tr').find('.delete').toggleClass('something');
});

デモ

列がチェックボックスの横の列にない場合があります。

メソッドは、要素の子の中.find()を検索する仕事をする人です。.delete.closest()

于 2013-01-21T10:08:58.627 に答える
0

これを試して:

$('input[type="checkbox"]').change(function() {
   $(this).closest('td').siblings('.delete').toggleClass('ToBeAddedClass');
});

これにより、チェックボックスが変更されたときにクラスが切り替わります。

  • when checkedクラスを追加します。
  • when unchecked追加されたクラスを削除します。

ノート:

の代わりdeleteとして使用css class nameid named delete

于 2013-01-21T10:09:42.950 に答える