問題タブ [ancestor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
909 参照

javascript - コンテキストに関連して(含まれているだけでなく)最も近い親を見つける

以下のhtmlで

外側の ul を変数に格納しています

一般的なケースでは、DOM 要素を渡されただけで、必ずしもセレクターを指定することはできません。

h3 がクリックされると、それを含む最上位の li を取得したいと考えています。一般的なケースでは、アコーディオン ul とフェッチする要素の間、およびフェッチする要素と h3 の間に任意の種類のマークアップが存在する可能性があります...しかし、要素に到達できるセレクターが必要になります。 ">" セレクターを使用してアコーディオンから。

例 var items = $(">li", acc);

問題は、クリックされた h3 (クリック ハンドラ内の「this」) から開始すると、特定の項目を見つけるのが難しいことです。

空の jQuery を返します (バグかもしれませんが、最上位の要素が動的であるこのインスタンスで ">" が何を意味するかを定義するのは難しいですが)

コンテキストを設定できないため、返される要素が多すぎる可能性があります

私がやりたいことをする方法はありますか?

*編集: html は問題をより明確にします

0 投票する
1 に答える
443 参照

silverlight - DataTemplate プロパティへのアクセス

カスタム ItemTemplate (TabItem 用) を持つ TabControl があります。

最後のタブ項目を非表示にしたいのですが、TabItem の Visibility プロパティにバインドできれば可能です。

助言がありますか?

0 投票する
2 に答える
2471 参照

xml - 特定の祖先xmlxpathを持たないノードを取得します

非常に複雑なxpathで数日苦労していて、それを定式化することができません。言語パーサーのようなC++の構文ツリーがあり、関数名に含まれていないすべての名前を選択するxpathクエリが必要です。

具体的には、このようなxmlドキュメントがあります

(xmlドキュメント全体が質問の最後にあります。非常に大きいので、ドキュメント構造の簡単な概要をここに貼り付けます)4つのノードタイプがありますa-
この要素には1つのノードが含まれます
b-ノードの情報が含まれます(例: "CALL_EXPRESSION ")
c-実際のテキストが含まれます(例:" printf "、変数名...)
d-現在のノードの子孫が含まれます(要素)

CALL_EXPRESSION /*[1]の子孫ではないすべてのNAMEを選択するXpathクエリを作成したいと思います。(これは、関数名ではなく、すべての変数を選択したいことを意味します)。

すべての関数名を選択するには、次のようにXpathを使用できます

// a [b = "CALL_EXPRESSION"] / d / a [1]

ここでは問題ありません。ここで、このノードの子孫ではないすべてのノードを選択したい場合。not(ancestor :: X)を使用します。

しかし、Xpath式を次のように定式化すると、問題が発生します。

// * [b = "NAME"] [not(ancestor :: a [b = "CALL_EXPRESSION"] / d / a [1])]

子b="CALL_EXPRESSION"を持つノードをまったく持たないノードのみを選択します。この例では、ASSIGNMENT_EXPRESSIONサブツリーからNAMEのみを選択します。

問題は、祖先::が最初の要素(この場合はa [b = "CALL_EXPRESSION"])のみを取り、その述語に従って制限し、さらに/が破棄されることだと思いました。だから私は次のようにxpathクエリを変更しました:

// * [b = "NAME"] [not(ancestor :: a [../../ b = "CALL_EXPRESSION" and position()= 1])]

これは、より単純なCALL_EXPRESSION(DOT_EXPRESSIONなし)でのみ機能するようです。[]内のパスは、潜在的な祖先ではなく、現在のノードのみに相対的である可能性があると思いました。しかし、私がクエリを使用したとき

// * [b = "NAME"] [not(ancestor :: a [b = "CALL_EXPRESSION"])]

想定どおりに機能しました(祖先CALL_EXPRESSIONを持たないすべてのNAMEが選択されました)。

必要なクエリを作成する方法はありますか?そして、なぜクエリが機能しないのですか?

前もって感謝します :)

XML

0 投票する
1 に答える
2548 参照

xml - 特定の祖先 xml xpath を持たないノードを取得する

特定のノードの最初の子孫である祖先を持たないノードを取得する xpath が必要です。

次のような xml ドキュメントがあるとします。

祖先ノードとして //a/c/a[1] を持たないドキュメント内のすべての b ノードを選択したいと思います。

0 投票する
1 に答える
323 参照

jquery - jquery には | が含まれています。最初の祖先のみを対象とする

この例の BLA では、多くのテスト済みのテーブルを含む HTML ページで、文字列をターゲットにして最終的にスタイルを設定しようとしています。

たとえば、HTML ページ:

そして、私が使用するjqueryスクリプト:

それを行うには、すべての td が選択されていることがわかります..すべての祖先なしで最初の td を取得するにはどうすればよいですか? DOMツリー? (しかもこれだけ)

ありがとうコミュニティ

0 投票する
1 に答える
1820 参照

graph - ノードがゼロ、1 つ、または 2 つの親を持つ 2 つのリーフ ノードの最適な共通の祖先を見つける

目標:

グラフ内のノードが 0、1、または 2 つの親を持つことができるグラフの最適な共通祖先を見つけるアルゴリズムを探しています。「最良の共通祖先」の用語がよくわかりません。より適切な用語は、「最小の共通の祖先」または「最近の共通の祖先」などです。より適切な用語がある場合は、そのような用語を説明する URL を提供してください。

このアルゴリズムは、完全なグラフ データ構造にアクセスできます。

特定のノードがゼロ、1 つ、または 2 つの親を持つことができます。私が Web で見たアルゴリズムは、特定のノードに 0 または 1 つの親があり、2 つの親はないと想定しているため、これが重要です (以下の参考文献を参照)。たとえば、下の図の m1 ノードはルートであるため、親がありません (グラフの複数のルートが存在する可能性があります)。d3 には 2 つの親があり、1 つは d2 で、もう 1 つは b2 です。

ノードには、存在する場合は両方の親への参照があり、存在する場合はすべての子への参照があるため、ツリーを上下にトラバーサルするのは公正なゲームです。ノードは 0 個以上の子を持つことができます。データ構造を変更することはオプションではありません。

2 つの入力ノードに近いノードは、遠いノード (つまり、グラフのルートに近いノード) よりも優先されます。

例として、考えられるグラフの 1 つを以下の図に示します。このシナリオでは、アルゴリズムへの入力はノード b5 と d4 になります。ノード b5 と d4 の最良の共通祖先は b2 です。b3 は b5 につながる血統にあるため、c2 はありません。

アルゴリズムの可能な答えは最大で 1 つのノードであり、空のセットは 2 つの入力ノードの共通の祖先がない場合の有効な答えです。

参考資料

Tarjan のオフラインの最小共通祖先アルゴリズムは、0 または 1 つの親を暗示しているように見えるため、それが解決策である場合、そのアルゴリズムで 2 つの親がどのように考慮されるかについての説明を回答に含める必要があります。最低共通祖先のウィキペディアのページも、ノードが 2 つではなく、0 または 1 つの親を持つデータ構造のみを説明しているようです。

各ノードがその親を指すツリー データ構造では、...

グラフ図

0 投票する
1 に答える
300 参照

python - App Engine データ ストアの祖先

私はしばらくの間、Google App Engine の開発を行ってきました。私が気づいたものの、まだ使用する機会がなかった機能の 1 つは、データ ストアの「先祖」です。

これが役立つ状況の例は何でしょうか?

0 投票する
2 に答える
33 参照

jquery-selectors - 特定の子孫を持つjQueryの祖先に影響を与える方法は?

同じクラス名()を持つこれらの2つのDIVがあります:



2を含むものには青色のcss境界線を適用し、Bを含むものには赤色のcss境界線を適用したいと思います。

私はparentsUntil()を使用しようとしましたが、class="myOutterDiv"までのすべての祖先に境界線を適用しました。class="myOutterDiv"に影響を与えたいだけです。

ありがとう!

0 投票する
2 に答える
322 参照

actionscript-3 - アクションスクリプト3でオブジェクトの祖先クラスのリストを取得する簡単な方法は?

オブジェクトの祖先の1つとしてDisplayObjectがあるかどうかを確認し、ある場合はいくつかの操作を実行したいと思います。これを行うための迅速で簡単な方法はありますか?

0 投票する
3 に答える
556 参照

javascript - このJavaScriptに祖先セレクターを追加する

li祖先タグを.activeに設定することについて少し追加する簡単な方法はありますか?