【发布时间】:2019-01-29 02:48:30
【问题描述】:
我正在创建一个小功能,在 jquery 中切换越来越少的文本,该数据一次检索一个数据,并在使用 ajax 单击按钮时从 getData 页面附加到 div 容器...问题是第一次按钮被点击 数据被检索 越来越少的文本功能工作正常但是当第二次点击按钮并且第二次检索数据并附加到 div 然后显示越来越少的文本适用于当前检索的数据但不是以前所有检索到的数据...有人请帮我解决这个问题...谢谢
recordsDisplay.html
<div id="container">
</div>
<button id="click">Click Me</button>
style.css:
a.morelink {
color:red;
}
.morecontent span {
display: none;
}
jquery:
var showChar = 150;
var ellipsestext = "...";
var moretext = "more";
var lesstext = "less";
$('#click').click(function(){
$.ajax({
url : "getData.html",
method : "GET",
success : function(response){
$('#container').append(response);
var mymore = $('#container').find('.more');
$(mymore).each(function() {
var content = $(this).html();
if(content.length > showChar) {
var c = content.substr(0, showChar);
var h = content.substr(showChar, content.length - showChar);
var html = c + '<span class="moreelipses">'+ellipsestext+'</span> <span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">'+moretext+'</a></span>';
$(this).html(html);
}
});
$(".morelink").click(function(){
if($(this).hasClass("less")) {
$(this).removeClass("less");
$(this).html(moretext);
} else {
$(this).addClass("less");
$(this).html(lesstext);
}
$(this).parent().prev().toggle();
$(this).prev().toggle();
return false;
});
}
})
getData.html:
<h5 class="more">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus, ligula ornare viverra sodales, magna erat semper ante, non placerat nulla lorem id orci. Praesent auctor ultrices sodales. Etiam vitae eros nisi. Morbi dictum, turpis at varius ornare, ante diam dignissim erat, a vulputate eros massa sit amet quam. Donec viverra pharetra odio, nec porta libero sagittis ac. Nam porta ornare feugiat. Maecenas </h3>
【问题讨论】:
标签: javascript php jquery html css