2017-03-23 1 views
0

を表示するには:私は、それぞれの説明のdivのカラーボックス - どのように次のように私のHTML構造があるのdiv使ってクラス

$(".read_more").on("click", function (e) { 
    var href = '#'+$(this).next().attr('id'); 
    $(this).colorbox({ inline: true, href: href }); 
}); 

にIDを与える場合は、idのために働く

<div class="parent"> 
    <span class="read_more">Read More</span> 
    <div class="hidden description" id="description1">Description</div> 
</div> 
.. 
<div class="parent"> 
    <span class="read_more">Read More</span> 
    <div class="hidden description" id="description2">Description</div> 
</div> 

私のJSコード私はColorBoxプラグインを使用しています。

私が「Read More」をクリックすると、「Description」がポップアップ表示されます。私はidを使ってこれを達成することができます。これは動的に生成されるため、IDの説明には与えたくありません。どのように私はクラスを使用してこれを達成できますか?これは可能ですか?

+2

IDのために機能する既存のJSは何ですか? –

+0

@VergilPenkovコードが更新されました! – linktoahref

+0

申し訳ありませんが、この場合にIDをどのように使用しているかわかるように、HTMLも更新できますか? :) –

答えて

2

ColorBoxもHTMLを受け入れます。以下を試してください

$(".read_more").on("click", function (e) { 
    var html = '#'+$(this).next().html(); 
    $(this).colorbox({ inline: true, html: html }); 
}); 
1

cssクラス 'hidden'が適用される場合は、display:none;

.not_hidden { display:block } 

jqueryのクラスを使用するように編集

$('.read_more').click(function(){ 
     $(this).next('.description').addClass('not_hidden') 
}) 

:この

CSSを試してみてください。

+0

OPが 'ColorBox'を使用していて、あなたの答えにそれがありません!! – Pugazh

+2

'Read Moreをクリックするとjqueryタグ付きのポップアップが必要になります。なぜこれが無効な答えであるのか理解できません。 jqueryが許可されない場合、なぜそれがタグ付けされますか? – rob

+0

私はあなたの答えをdownvotedしていない! – linktoahref

1

解決済み!

ごめんなさい。私はドキュメントにもっと注意を払っていたはずです。

// Using a jQuery object: 
$(".read_more").on("click", function (e) { 
    e.preventDefault(); 
    var $desc = $(this).next(); 
    $(this).colorbox({ inline: true, href: $desc }); 
}); 
関連する問題