文字长度有限,点击后显示全部内容。但是,如果有人可以检查代码,第一个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)+"…" + <span>show</span>;
http://jsfiddle.net/M6wzh/3/
非常感谢。
答案 0 :(得分:1)
你可以通过改变HTML来解决这个问题:<span>Show</span>
需要在'容器'div中。 http://jsfiddle.net/M6wzh/1/
(jquery代码在与<span>Show</span>
相同的父元素中找到第一个段落并展开它。由于<span>Show</span>
没有一个在容器元素内部,它只是找到了第一个段落。页面并扩展了。)