回答編集履歴

1 .attr() に言及

think49

think49 score 13731

2017/02/02 01:24  投稿

### :checkbox  
 
> ```JavaScript
> if($(".sample01 input:checkbox").is(':checked')){
> ```
疑似クラス `:checkbox` は Selectors Level 4 仕様に存在しませんが、ブラウザの独自拡張か、jQueryの拡張仕様でしょうか。
`input[type=checkbox]` にすれば直りそうな気がします。
**(2017/02/02 01:24 追記)**
jQuery の拡張仕様との指摘を頂きました。
標準では `input[type=checkbox]` と書きます。
- [Selectors Level 4](https://www.w3.org/TR/selectors4/)
- [:checkbox Selector | jQuery API Documentation](http://api.jquery.com/checkbox-selector/)  
他、いくつか気になる点があります。
### :checked
- `.is(':checked')` は `.prop('checked')` にした方が負荷が低い
- `class="sample01"`, `class="sample02"` が一つしか存在しないのなら id 属性に変えた方が良いかも
`.is(':checked')` は `.prop('checked')` にした方が負荷が低いです。
### .attr(), .removeAttr()
`.attr("disabled","disabed")` は `.prop("disabled", true)` にした方が良いと思います・
### class="sample01"
`class="sample01"`, `class="sample02"` が一つしか存在しないのなら id 属性に変えた方が良いと思います。
Re: shio さん

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る