【发布时间】:2021-08-22 06:18:10
【问题描述】:
我正在从数据库中获取列表,现在我必须根据内容添加阅读更多和阅读更少按钮,但我没有得到它。我在控制台中没有收到任何错误。
if($loop->have_posts() ) {
while($loop->have_posts() ) {
$loop->the_post();
$tid = $loop->ID;
$data .='<li>
<div class="overflowSet"><div class="imgwrap" style="background-image:url('.get_the_post_thumbnail_url($tid).')"></div></div>
<h5>'.wp_trim_words(get_the_title($tid),9, '...').'</h5>
<p class="countcontent">'.$the_content.'</p>
</li>';
}
}
我添加了下面的脚本来显示阅读更多和更少
$data .='<script>
jQuery(function($){
var maxLength = 390;
var moretxt = "...Read More";
var lesstxt = "Read Less";
$(".countcontent").each(function($) {
var myStr = $(this).text();
if (jQuery.trim(myStr).length > maxLength) {
var newStr = myStr.substring(0, maxLength);
var removedStr = myStr.substring(maxLength, $.trim(myStr).length);
$(this).empty().html(newStr);
$(this).append(\'<span class="more-text">' + removedStr + '</span>\');
$(this).append(\'<a href="javascript:void(0);" class="read-more more">' + moretxt + '</a>\');
}
});
$(".read-more").click(function() {
if($(this).hasClass("more")){
$(this).removeClass("more");
$(this).text(lesstxt);
$(this).siblings(".more-text").show();
}
else {
$(this).addClass("more");
$(this).text(moretxt);
$(this).siblings(".more-text").hide();
}
});
});
</script>';
我在这段代码中遇到了问题
jQuery(this).append(\'<span class="more-text">' + removedStr + '</span>\');
jQuery(this).append(\'<a href="javascript:void(0);" class="read-more more">' + moretxt + '</a>\');
如果我添加下面的代码,那么我会得到文本。
jQuery(this).append(\'<span class="more-text">Read less</span>\');
jQuery(this).append(\'<a href="javascript:void(0);" class="read-more more">Read more</a>\');
【问题讨论】:
-
当我检查检查元素时,我没有得到我的脚本,它只显示 0