現在、JavaScriptにてページ内のaタグ内のhrefを全て抽出するプログラムを書いております。
JavaScript
1var aLinks = document.getElementsByTagName('a'); 2for(var i = 0; i < aLinks.length; i++) { 3 console.log(aLinks[i].getAttribute('href')); 4}
ここから更に、 /n/ を含むhrefのみ出力したいのですが
JavaScript
1var aLinks = document.getElementsByTagName('a'); 2for(var i = 0; i < aLinks.length; i++) { 3 if(aLinks[i].getAttribute('href').indexOf('/n/') != -1) 4 console.log(aLinks[i].getAttribute('href')); 5}
と記述をしておりますが、 if(aLinks[i].getAttribute('href').indexOf('n') != -1) あたりの表記がおかしいのか、正常に摘出されません。
ご助言をお願い致します。
エラーは出ていませんか?デベロッパーツールで確認してみてください。https://eng-entrance.com/javascript-display-error
「正常に摘出されません」とはどのように摘出されるのでしょうか。
ありがとうございますm(_ _)m
Uncaught TypeError: Cannot read property 'indexOf' of null
at <anonymous>:3:36
このようなエラーが表示されております。
スクリプトの呼び出し部分を含めた、HTMLも質問文に追記してください。
if(aLinks[0].href.include('/n/')) とする事で解決ができました。
ありがとうございます。
回答1件
あなたの回答
tips
プレビュー