[解決済み] クラス名ですべての子孫を検索するDojoクエリ
質問
DOM ノードがある場合、DOM ツリーを掘り下げて、指定されたクラス名のノードを見つけたい。
myClass
例えば
<div class="container">
<div class="red">Red One</div>
Some Text
<div>
<div class="myClass"></div>
</div>
<div class="blue">Blue One</div>
<div class="red">Red Two</div>
<div class="blue">Blue Two</div>
</div>
を使ってみました。
dojo.query(".container").children(".myClass");
というのは、どうにもならないようです。
気がつくと
dojo.query(".container").children();
は直系の子だけを取得しますが、直系の子だけでなく、すべての子孫(孫も可)を取得する簡単な方法はないでしょうか?
EDIT
というわけで、質問が私の計画通りでないことに気づきましたが、他のユーザーがその恩恵を受けられるように、元のままにしておきます。
私の問題は、クラス名によって最初のノードのハンドルを取得するのではなく、そのクラス名を持つ特定のノード集合のハンドルを取得したと仮定したいのですが、おそらくそれらすべてではありません。
ですから、例えば、私が使いたいと思ったのは、上に書かれていることと一致するように、次のようなものです。
array.forEach(containerNodes, function(node){
dojo.query(node).children(".myClass")
});
のみであれば
children()
関数は2つ以上のツリーレベルを走査します。
そこで、このシナリオでは
dojo.query(".myClass", node);
はうまくいきました。
しかし、後述するように、同種の
dojo.query(".container .myClass");
は、クラス名を使用するために動作します。
解決方法は?
children()
は、jQueryと同じで、直系の子しか出ません。もし、"subquery"を作りたい場合(jQueryのような
find()
) を使用する必要があります。
query()
例えば
dojo.query(".container").query(".myClass");
も作ってみました。 スモールフィドル をデモしています (ただし、Dojo 1.9 の構文です)。
関連
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み] テスト
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み] jQueryでクラス名を取得する
-
[解決済み] 部分テンプレートとテンプレートの複雑なネスト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】Angular JS Uncaught Error。[インジェクター:モジュラー]。
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】ETIMEDOUTエラーの対処方法は?