2016-07-20 21 views
0

jQuery DOMに関するいくつかの助けが必要です。 idの内容を抽出する必要があります。ユーザーが選択できるリストがあり、マップのhotspotをフィルタリングします。ユーザーが選択したら、filtertitleに新しい選択したフィルターを表示します。コンテンツにショッピング/ダイニングがあるため、「id」をフィルタのタイトルに適用できますが、コンテンツについてはわかりません。誰かよろしくお願いします。jQuery:idの内容を取得

HTML

<div class="map-filter"> 
    <div class="filtertitle">All Categories</div> 
    <ul class="filter-list"> 
     <li class="active" id="All Categories">All Categories</li> 
     <li id="Shopping">Shopping/Dining</li> 
     <li id="Hotel">Hotels & Resorts</li> 
     <li id="Art">Art Galleries</li> 
    </ul> 
</div> 

jQueryの

$('.filter-list li').click(function(){ 
    var id = $(this).attr('id'); 
    $(this).siblings().removeClass('active'); 
    $(this).addClass('active'); 
    $('.filtertitle').html(id); //This part is where I set the id 
}); 
+1

'$( '。filtertitle').html($(this)).text())'? –

+0

こんにちはShaunak。これは完全に機能します。あなたはこのabitを説明できますか? –

答えて

2

使用.text()、それはあなたの希望要素のテキストコンテンツを提供します。

$('.filtertitle').html($(this).text()); 

HTMLコンテンツの場合.html()を使用します。

+1

ああはい。私はリストにアイコンを追加することができることに気づいたので、.htmlを使用することに決めました。そしてそれはfiltertitleに表示されます。とにかく助けてくれてありがとう。 –

+0

うれしかった! –

0

私はあなたが正しく求めているものを理解してるなら、あなたはこのような何かを試すことができます。

$('.filter-list li').click(function(e){ 
    $(this).siblings().removeClass('active'); 
    $(this).addClass('active'); 
    $('.filtertitle').html($(e.currentTarget).text()); 
}); 

JSFiddle - https://jsfiddle.net/583zgs57/

0

単純な設定IDの代わりに、$(this).text();を使用できます。現在の要素のテキストコンテンツを取得します。

$('.filter-list li').click(function(){ 
    var id = $(this).attr('id'); 
    $(this).siblings().removeClass('active'); 
    $(this).addClass('active'); 
    $('.filtertitle').html($(this).text()); 
});