2016-12-27 11 views
0

私は$(html).find('.model').parent().text()が期待通りに機能しています。セレクタ内で「親」関係を表現する方法はありますか? $(html).find('.model:parent').text()でも$(html).find('.model:parent()').text()も動作していないようです。jQuery - セレクタ内で親を選択

セレクタを引数として渡しているため、セレクタが要素に直接つながるようにします。この場合、親は一意の属性を持たないので、子を最初に見つけなければ選択できません。私はdocs [1]の親セレクタに出くわしましたが、クラス名セレクタと組み合わせる方法を理解できません。

[1] https://api.jquery.com/parent-selector/

+1

我々は[parent' ']を持っていますセレクターが意味するのはあなたが探しているものとはまったく異なっています。最も近いものは[':has()'](https://api.jquery.com/has-selector/)疑似セレクタです。 – PeterKA

+0

リンクされたページで読むことができるように、 '.model:parent'は* .model項目を選択します。このページでは、必要な親の選択を取得する方法をアドバイスしますが、メソッド呼び出しのみを使用します。セレクタは通常、要素をドリルダウンするために使用され、AFAIKは階層構造をバックアップすることはありません。 –

+0

@PeterKA:ありがとう - ':has()'が働いた! '' h1:has(.model) ''を使って、自分が望むノードを選択することができました。なぜなら、常にh1であることが分かっているからです。あなたのコメントを回答として投稿しても大丈夫なら、そのようにマークします。 @Peter B:ありがとうございます。私の問題は:has()で修正されました。 – atlantis

答えて

1

:parentあなたが探しているものではありません。おそらく:has()はあなたが探しているものに最も近い擬似セレクタです。

使用法:特に

$(html).find('*:has(.model)').text(); 

以上:(https://api.jquery.com/parent-selector/)疑似:

$(html).find('h1:has(.model)').text(); 
関連する問題