好的,我有一个jquery脚本,是为了阅读更多/在div上阅读更少,但我想在超过1个div上使用它,而没有更多...按钮打开页面上的所有div,我该怎么做?
这里是jsfiddle:
代码:
<script>
jQuery(function($){
// Resize Height
function reh(e) {
$(e).css({'height':$(e).attr('height')})
}
// Empty Height
function emh(e) {
$(e).css({'height':'auto'});
}
// Resize .lead (default height)
reh('.lead');
// Actions
// More: Lead
$('body').on('click', '.more-lead', function(){
emh('.lead');
$('.more-lead').html('Less...');
$('.more-lead').addClass('less-lead').removeClass('more-lead');
});
// Less: Lead
$('body').on('click', '.less-lead', function(){
reh('.lead');
$('.less-lead').html('More...');
$('.less-lead').addClass('more-lead').removeClass('less-lead');
});
});
</script>
答案 0 :(得分:0)
// More: Lead
$('body').on('click', '.more-lead', function(){
emh($(this).siblings('.lead'));
$(this).html('Less...').addClass('less-lead').removeClass('more-lead');
});
// Less: Lead
$('body').on('click', '.less-lead', function(){
reh($(this).siblings('.lead'));
$(this).html('More...').addClass('more-lead').removeClass('less-lead');
});
您定位的是所有课程。您应该专门针对需要展开或折叠的元素。通过寻找兄弟姐妹,你可以很容易地做到这一点。
此外,使用$(this)
会保留对所点击元素的引用,而不是一般性地重新选择所有.more-lead
或全部.less-lead
。