本記事では、JavaScriptで特定の属性が存在するか確認する方法について解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
hasAttributeメソッド
特定の属性が存在するか確認するには、hasAttributeメソッドを使用します。基本的な使い方は以下のとおりです。
let result = elem.hasAttribute("attr")
構文解説
- result:boolean値を返す(attrで指定した属性が見つかればture/見つからなければfalse)
- elem:特定の属性が存在するか確認したい要素を指定
- attr:確認したい属性を指定
実際に、hasAttributeメソッドを使用して特定の属性が存在するか確認するサンプルコードを用意したので、動作確認してみましょう。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<a href="https://www.google.com/">グーグル</a>
<a>アマゾン</a>
<a href="https://www.yahoo.co.jp/">ヤフー</a>
<script src="index.js"></script>
</body>
</html>
let linkElems = document.querySelectorAll("a");
console.log(linkElems); // => NodeList(3) [a, a, a]
for (let linkElem of linkElems) {
if (!linkElem.hasAttribute("href"))
console.log(`${linkElem.textContent}が未設定です!`); // => アマゾンが未設定です!
}