0

文字长度有限,点击后显示全部内容。但是如果有人可以检查代码,第一个 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();
});

});​

在线样品在这里

如果我有return text.substring(0, len)+"&hellip;" + <span>show</span>; http://jsfiddle.net/M6wzh/3/

非常感谢。

4

1 回答 1

1

您可以通过更改 HTML 来解决此问题:<span>Show</span>s 需要位于“容器”div 中。http://jsfiddle.net/M6wzh/1/

(jquery 代码在与 相同的父元素中找到第一段<span>Show</span>并将其展开。由于没有<span>Show</span>s 在容器元素中,它只是在页面上找到第一段并展开它。)

于 2012-12-05T02:33:18.090 回答