これはちょっとしたパズルで、うまくいけばjQueryで解決できるはずです。これが自明のjsFiddleです。DOMツリーのどこにあるかに基づいて、DOM内の対象の要素をトラバースするための一般的なソリューションを探していることに注意してください。例としてこの縮小されたケースを提供します。これに対してソリューションをテストでき、理解も容易です。
DOM:
<div class="element" value="Hi5!">
<div class="element" value="Zero"></div>
<div class="junk" value="no no!"></div>
<div class="element" value="Four">
<div class="element" value="One"></div>
<div class="element" value="Three">
<div class="element" value="Two"></div>
</div>
</div>
<div class="element" value="Five"></div>
</div>
私が入手したコードは、要素を望ましくない順序で出力します。
$(document).ready(function(){
console.log("ready");
$(".element").each(function(index, item){
console.log(index + " | ", item.getAttribute('value'));
});
});
現在の出力:
ready
0 | Hi5!
1 | Zero
2 | Two
3 | One
4 | Four
5 | Three
6 | Five
上記のネストされたdiv要素の値をポストオーダー方式でトラバースして出力するにはどうすればよいですか?
編集:解決策を提供し、私の質問の間違いを指摘してくれた@zshooterに感謝します。これが私の更新されたjsFiddleをポストオーダーで正しく注文したものです。