多くの人がこのジレンマに一度に遭遇したと確信しています。
複数のブロックレベルおよびインラインレベルの要素を含むブロックレベルのHTML要素があります。
<div id="ajax">
<h2>Something</h2>
<div class="icon"></div>
<div class="clear"></div>
<div class="somethingelse"><h3>blah</h3></div>
</div>
jQuery ajax()イベントを#ajax(最上位要素)のクリックにアタッチしたいだけですが、いくつかのパラメーターをサーバー側スクリプトに渡す必要があります。
私が見ている可能性のある方法の1つは、単にに置き換えることです。これにより、のようなものを追加できますdiv#ajax
が、これによりページが無効になります。インライン要素()内にブロックレベルの要素()を含めることはできません。a#ajax
href="param=value&this=that"
<div>
<a>
もう1つの可能な方法は、にrel
属性を追加することですdiv#ajax
。これは、XHTML検証を無視することも意味します。
インラインイベントをdivに追加したくありませんonclick
。それは少し遠すぎます...また、すべての子div#ajax
をegに変える<span>
ことは大きなピタになります。
これをどのように処理しますか?
ありがとう!