文字列を含むスパンが の場合el
、親クラスを次のように設定できます。
$(el).parents(".event_data").last().addClass("October")
ここで重要なのは.parents(sel)
、指定されたセレクターに一致するすべての親を返すことです。それらは、親チェーンの最も近いものから最も遠いものの順に返されます。次に、.last()
最後のオブジェクト (親チェーンの一番上) を選択addClass()
し、目的のクラスを残りの親オブジェクトに追加します。
スパンを見つけてテキストをテストするためのサポートも必要な場合は、テキストをテストするスパンを特定する方法について、より多くのガイダンスを提供する必要があります。
テキストを探す場所の説明はまだ少し曖昧で具体的ではありませんが、すべてを行う1つの方法を次に示します。
$('p[id^="event_date-"]:contains(October)')
.parents(".event_data").last().addClass("October");
そして、HTML で動作することがわかります: http://jsfiddle.net/jfriend00/Pp8gw/
説明:
p
で始まる ID を持つタグを検索します"event_date-"
- そのタグ内で
p
、テキストを見つけます"October"
- のクラスを持つすべての先祖を見つける
"event_data"
- 最も遠い祖先を取得する
"October"
その祖先にクラスを追加します