如何单独制作show()
,点击show后,所有.whateverever
班级都会被打开。
以下是代码:
$(document).ready(function() {
function excerpt(text, len) {
return text.substring(0, len) + "…" + '<span>Show</span>';
}
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();
var theExcerpt = excerpt($p.text(), 230);
$p.html(isHidden ? $p.data('html') : theExcerpt);
$('.whateverever').show();
$(this).remove();
});
});
请在线查询示例:http://jsfiddle.net/M6wzh/6/ 非常感谢
答案 0 :(得分:2)
尝试
$(document).ready(function() {
function excerpt(text, len) {
return text.substring(0, len) + "…" + '<span>Show</span>';
}
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();
var theExcerpt = excerpt($p.text(), 230);
$p.html(isHidden ? $p.data('html') : theExcerpt);
$p.next().show();//the div you're looking for is the next sibling of the parent p
$(this).remove();
});
});
答案 1 :(得分:1)
$('.whateverever', this).show();
而不是
$('.whateverever').show();
应该让你上路。
答案 2 :(得分:0)
你可以这样做:
$('span').click(function() {
var isHidden = $(this).text() == 'Show';
var $p = $(this).parent();
var theExcerpt = excerpt($p.text(), 230);
$p.html(isHidden ? $p.data('html') : theExcerpt);
$(this).next(".whateverever").show();
$(this).remove();
});
答案 3 :(得分:0)
在此之前你使用jquery的.closet()。 只需对代码进行少量编辑
$('.whateverever').show();
replace this line by
$.closest('.whateverever').show();
and check.