【JavaScript】セレクタの条件一致について

この記事を読むのにかかる時間 1未満

data-terms_typeに複数の値が含まれている場合、特定の値を含む要素のみを選択したい場合には、属性の部分一致を指定できる[attribute*="value"]を使います。この場合、cafeを含む要素を取得するには、以下のように書けます:

javascriptコードをコピーするconst selectTarget = Array.from(document.querySelectorAll('[data-terms_type*="cafe"]'));

この指定により、data-terms_type属性に「cafe」が含まれている全ての要素を取得できます。

data-terms_typeに「cafe」または「run」が含まれている要素を取得するには、[attribute*="value"]を複数指定することで条件を追加できます。querySelectorAllにCSSの複数条件セレクタを使用する方法が便利です。

以下のコードで、data-terms_typecafeまたはrunが含まれている要素を取得できます。

javascriptコードをコピーするconst selectTarget = Array.from(document.querySelectorAll('[data-terms_type*="cafe"], [data-terms_type*="run"]'));

これで、data-terms_type属性にcafeまたはrunが含まれる全ての要素を取得し、配列としてselectTargetに格納できます。