私はjqueryを初めて使用しますが、これを行う簡単な方法は次のとおりです。
私のサーバー側のコードは、次のようにhtmlを吐き出します:
<div name="destinationName" id="1">NEW DELHI</div>
<div name="destinationName" id="2">JAIPUR</div>
<div name="destinationContent" id="1" style=";">NEW DELHI details</div>
<div name="destinationContent" id="2" style="display:none;">JAIPUR details</div>
デフォルトでNew Delhi
は、詳細を表示する必要があります。をクリックすると、代わりに詳細Jaipur
が表示されます。もう一度Jaipur
クリックすると、詳細のみを表示する必要があります。動作は jquery タブに似ています。New Delhi
New Delhi
Javascript :
<script type="text/javascript">
$(document).ready(function() {
$('div[name="destinationName"]').click(function(){
$('div[name="destinationContent"]:visible').hide();
$('div[name="destinationContent"][id=this.id]').show();
});
});
</script>
をクリックするJaipur
と、ニューデリーとジャイプールの両方がレンダリングされます。コードをデバッグすると、
$('div[name="destinationContent"][id=this.id]').show();
this.id
が問題の原因です。
上記のスクリプトで this.id を参照するにはどうすればよいですか??
PS : this.id を「2」に置き換えると、正常に動作します。コンソールで、「this'id」を出力すると、「2」が返されます。したがって、これを解決する方法がわかりません。
また、似たような div をグループ化する良い方法を教えてもらえますか (名前を使って似たような div をグループ化し、id を使ってそのグループ内の要素を識別しています)。