Jquery 1.6.4 を使用します。
context-
CSS を使用して、UI の各レイヤーで 接頭辞が付いたクラスを適用することにより、アプリにユーザー アクションのコンテキストに関する手がかりを与えようとしています。
したがって、ユーザーが「検索」div 内の何かをクリックすると、クラス「context-userContext-search」を割り当てることができ、$(this).attr('class') を呼び出すと、その div 内のすべてがそのコンテキストを返します。要素自体に適用される最もわかりやすいコンテキスト フラグに至るまで、以下同様です。
これは、必要なターゲット要素ごとに階層全体を定義することを避けるために特に行っています。しかし..うまくいきません。
私のhtml:
<div class="context-userContext-search">
<table>
<thead class="context-layoutContext-tableHeader">
<tr class="context-userContext-search">
<th id="search_A2655_header" class="clickable sortable ui-state-highlight dialog_right_menu context-objectAttribute-A2655 context-objectClassName-host" value="A2655">
Hostname
</th>
</tr>
</thead>
</table>
</div>
呼び出す$('#search_A2655_header').attr('class')
と、次のように返されます。
clickable sortable ui-state-highlight dialog_right_menu context-objectAttribute-A2655 context-objectClassName-host
これを返すと思ったとき:
context-userContext-search context-layoutContext-tableHeader clickable sortable ui-state-highlight dialog_right_menu context-objectAttribute-A2655 context-objectClassName-host
もちろん、これらのクラスはどのスタイルシートにも存在しませんが、継承が機能するために存在しなければならなかったことを思い出しません。
でツリーを上ることができました.parents('[class^="context-"]')
が、それはそれほどクールではなく、おそらく高価です。
私の目標を達成するための代替方法論は大歓迎です。