摘录文字P标签打开问题

时间:2012-12-05 02:22:06

标签: 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: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();
});

});​

在线示例here

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

非常感谢。

1 个答案:

答案 0 :(得分:1)

你可以通过改变HTML来解决这个问题:<span>Show</span>需要在'容器'div中。 http://jsfiddle.net/M6wzh/1/

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