10/03/27 01:04:11
<div class="hoge"><p>で囲まれているspanタグのテキスト部分だけを取り出したいのですが、
-----------------
var str = "";
var spanTag = document.getElementsByTagName("span");
for(var i=0; i<spanTag.length; i++){
if(spanTag[i].parentNode.nodeName == "P" && spanTag[i].parentNode.parentNode.nodeName == "DIV" && spanTag[i].parentNode.parentNode.className == "hoge"){
str += spanTag[i].innerText + "\n";
}
}
alert(str);
-----------------
↑if文の条件をもっとすっきり書くことできますでしょうか?
jQueryを使うのは無しでお願いします。
■テストケース■
<div class="hoge"><p><span>OK1</span></p></div>
<div class="hoge"><p><span>OK2</span></p></div>
<div class="geho"><p><span>NG</span></p></div>
<div class="hoge"><span>NG</span></div>
<div><p><span>NG</span></p></div>
<p><span>NG</span></p>
■出力結果■
OK1
OK2