Javascript 摘录文本P标签公开发行

Javascript 摘录文本P标签公开发行,javascript,jquery,Javascript,Jquery,文本长度有限,单击后显示全部内容。但是如果有人可以检查代码,第一个P标记可以打开,但是从第二个开始,它不能完全打开 $(document).ready(function(){ function excerpt(text, len) { return text.substring(0, len)+"…"; } var $div = $('.container'); $div.each(function() { var $p=$(this).find("p:fir

文本长度有限,单击后显示全部内容。但是如果有人可以检查代码,第一个P标记可以打开,但是从第二个开始,它不能完全打开

$(document).ready(function(){
function excerpt(text, len) {
    return text.substring(0, len)+"…";
}

var $div = $('.container');
$div.each(function() {
  var $p=$(this).find("p:first");
   var theExcerpt = excerpt($p.text(), 230);
    $p.data('html', $p.html()).html( theExcerpt);
});

$('span').click(function() {
    var isHidden = $(this).text() == 'Show';
   var $p = $(this).parent().find("p:first");
    var theExcerpt = excerpt($p.text(), 230);
    $p.html( isHidden ? $p.data('html') : theExcerpt);
    $(this).remove();
});

});​
在线样品

如果我有
返回text.substring(0,len)+“…”+show


非常感谢。

您只需更改HTML即可解决此问题:
Show
s需要位于“container”div中


(jquery代码在与
Show
相同的父元素中找到第一段并对其进行扩展。由于
Show
s中没有一个在容器元素中,因此它只在页面上找到第一段并对其进行扩展。)

感谢您的回答和解释,如果我在JS中有这个span,比如
返回text.substring(0,len)+“…”+“Show”
是否有一种可行的方法使其工作?是的,您只需要将
$(this.parent().find(“p:first”)
更改为
$(this.parent()
,因为段落现在是span的父元素。