個人的には、HTML を減らして、以下を使用することをお勧めします。
$('#more').on('mousedown', function () {
$('.texto').toggle();
$('#moreLess').text(function(i,t){
return t.trim() == 'Read More' ? 'Hide' : 'Read More';
});
});
JS フィドルのデモ。
次の HTML を使用します。
<p>
<a id="more" class="buttons a-btn">
<span class="a-btn-symbol">></span>
<!-- combined the two buttons -->
<span id="moreLess" class="a-btn-text">Read More</span>
</a>
</p>
<div class="texto">
<p>Test</p>
</div>
同様に、拡張性のために、HTML を次のように変更することをお勧めします (主にid
s からclass
-esの使用に変更します)。
<p>
<a class="more" class="buttons a-btn">
<span class="a-btn-symbol">></span>
<span class="moreLess" class="a-btn-text">Read More</span>
</a>
</p>
<div class="texto">
<p>Test</p>
</div>
<p>
<a class="more" class="buttons a-btn">
<span class="a-btn-symbol">></span>
<span class="moreLess" class="a-btn-text">Read More</span>
</a>
</p>
<div class="texto">
<p>Test</p>
</div>
次の jQuery を使用します。
$('.more').on('mousedown', function () {
var self = $(this),
parent = self.parent();
parent.next('.texto').toggle();
parent.find('.moreLess').text(function(i,t){
return t.trim() == 'Read More' ? 'Hide' : 'Read More';
});
});
JS フィドルのデモ。