0

HTML:

<ul>
    <li><a href="#" id="a1">This is Link 1</a></li>
    <li><a href="#" id="a2">This is Link 2</a></li>
    <li><a href="#" id="a3">This is Link 3</a></li>
</ul>

<div id="somediv">                
</div>

<div class="a1">div 1</div>
<div class="a2">div 2</div>
<div class="a3">div 3</div>

Jクエリ:

$('a').on('click', function(e) {
    $('#somediv').html($('."this.id"').text());
    e.preventDefault();
});

基本的に私がやりたいことは、リスト内のリンクの 1 つをクリックすると、「somediv」の内容が、リンクの ID に一致するクラスを持つ div の内容に置き換えられることです。

つまり、リンクID「a1」をクリックすると、「somediv」にクラス「a1」が表示されます。jqueryの2行目でそれを呼び出す方法の構文がわかりません。

4

4 に答える 4

2

これを行う

$("#a1").click(function() {
    var divClass = $(this).attr("id");
    $("#somediv").empty().append($("."+divClass).html());
});
于 2013-05-02T01:57:51.300 に答える
1

http://jsfiddle.net/vD4hA/

唯一の問題は連結にありました。

コンテキスト内には DOM 要素があり、id または任意の属性をオブジェクト プロパティとして直接取得できるため、$(this).attr('id')使用する必要はありません。this

$('a').on('click', function(e) {
    $('#somediv').html($('div.' + this.id).text()); // You probably dont need 'div.' 
   //but it is safe to use as you are not selecting based on id(unique) but a class which      
    //can be in multiple places.
});
于 2013-05-02T01:58:44.403 に答える
1
$('a').click(function (e) {
    $('#somediv').html($('.' + $(this).attr('id'))).text();
    e.preventDefault();
});

jsFiddle の例

于 2013-05-02T02:00:30.783 に答える