2011-07-26 16 views
4

このドロップダウンはmenuです。これは、onmouseenterイベントを発生させ、次の兄弟のターゲットの境界線を白に変更することだけです。これまでのところ、私はcurrentTargetの境界線に簡単に対処することができますが、次の兄弟のために同じことをする方法は見つけられません。何か案は ?Dojoは現在のイベントターゲットに基づいて次の兄弟を取得します

答えて

5

してみてください。この

dojo.query(evt.currentTarget).next()[0] 
+1

おかげさまで、チャームのように機能し、クロスブラウザソリューションとして機能します。私はちょうどdojo.require( "dojo.NodeList-traverse")を配置しなければなりませんでした。頂点で。 – mfreitas

2

DOMノード属性nextSiblingを使用して、次の兄弟を取得できます。 https://developer.mozilla.org/En/DOM/Node.nextSiblingを参照してください。

次の兄弟を取得するときにフィルタリングを適用する場合は、特定のCSSクラス名を持つ次の兄弟を取得し、dojo.queryを使用してみてください。例えば、

dojo.query(node).siblings(".myClass") 

クラス名myClassnodeの兄弟のノードのリストを返します。

+1

私はnextSiblingがまたtextnodeを返すかもしれないと思います。 nextElementSiblingは次の兄弟要素ノードを返します – rajkamal

+0

返信ありがとうございます@Alex Cheng、rajkamalは正しいですが、nextSiblingはtextNodeを返しますが、正しい要素を取得するためにnodeTypesを調べる必要があります。 nextElementSiblingも機能しますが、古いバージョンのIE( mfreitas

関連する問題