JavaScript豆知識7_querySelector

写真はこの時期が旬のスナップえんどうです。記事の内容にはまったく関係ありません。

さて、久しぶりにコーディングのネタが出てきました。今回はquerySelector()のお話です。

getElementById()やgetElementsByClassName()は素直にIDやクラス名を入れれば動いてくれるので使いやすいですが、querySelectorはセレクターを書かなければいけないし、セレクターの書式がちょっと独特なので敬遠していましたが、やはり使えると便利です。

例えば、inputタグでtypeがtextで、readonlyでなくてかつmust属性がtrueでCSSのneedクラスを持つ…などというややこしい条件で検索することもできます。が、属性やCSSクラスを指定するときの書き方、ANDとOR、否定にあいまい一致など色々あってややこしかったので、自分用のメモも兼ねてざっとまとめました。

//AND,OR,NOTの書き方

//AND 続けて書く。間に何も挟まない。
'[type=text][readoly=true]'

//OR カンマで繋ぐ。
'[type=text],[type=number]'

//NOT :not()で囲う
':not([type=tel])'



//タグ・属性・CSSクラスの指定

//タグ カッコも記号も何もつけずに書く。
'input'

//属性 []で囲い、=で値を指定する。値の指定をしなければ、属性を持っているとtrueとみなす。
'[type=text]'
'[hoge]'

//CSSクラス .クラス名で書く。.が必須。
'.need'


//inputタグでtypeがtextで、readonlyでなくてかつmust属性がtrueでCSSのneedクラスを持つ
document.querySelectorAll('input[type=text][must=true].need:not([readonly])')
    
    

このブログの人気の投稿

技術メモ「503 Service Unavailable」

グーグルグループのメーリングリストの返信先が個人になってしまう

『ネットワークドライブ』のトラブル