jquery显示/隐藏后dom链接需要添加另一个链接
我有一个定义列表,带有jquery显示/隐藏效果和“readmore”按钮,打开后该按钮将更改为“close”。现在我需要在屏幕顶部为每个描述放置另一个引用锚的按钮。当我试图编辑脚本以添加新链接时,“返回页面顶部”按钮变成另一个“关闭”按钮。我对JS不够精通,无法编辑这个脚本,使它能够完成我需要的任务,而不会产生一些奇怪的后果。感谢您的帮助jquery显示/隐藏后dom链接需要添加另一个链接,jquery,hyperlink,hide,add,show,Jquery,Hyperlink,Hide,Add,Show,我有一个定义列表,带有jquery显示/隐藏效果和“readmore”按钮,打开后该按钮将更改为“close”。现在我需要在屏幕顶部为每个描述放置另一个引用锚的按钮。当我试图编辑脚本以添加新链接时,“返回页面顶部”按钮变成另一个“关闭”按钮。我对JS不够精通,无法编辑这个脚本,使它能够完成我需要的任务,而不会产生一些奇怪的后果。感谢您的帮助 SCRIPT $(function(){ var slideHeight = 36; $('.jswrap').each(func
SCRIPT
$(function(){
var slideHeight = 36;
$('.jswrap').each(function(){
var defHeight = $(this).height();
if(defHeight >= slideHeight){
$(this).css({'height':slideHeight,'max-height': defHeight});
$(this).after($('<div class="jsreadmore"><a href="#">Read More</a></div>'));
}
});
$('.jsreadmore a').click(function(){
var $targetSlide = $(this).parent().prev(),
curHeight = $targetSlide.height(),
defHeight = $targetSlide.css('max-height');
if(curHeight == slideHeight){
$targetSlide.animate({
height: defHeight
}, "normal");
$targetSlide.next().children('a').html('Close');
}else{
$targetSlide.animate({
height: slideHeight
}, "normal");
$targetSlide.next().children('a').html('Read More');
}
return false;
});
});
链接
www.doctorhtiller.com/procedures.html这是因为您正在使用以下命令操纵元素中的所有锚:
$targetSlide.next().children('a').html('Read More');
及
children('a')
代码说“让我们影响作为next()
元素的直接子元素的所有锚点”。由于您的“返回页面顶部”锚仅仅是另一个锚,它将其html分别转换为“阅读更多”或“关闭”。您需要做的是将您的锚与脚本创建的锚区分开来。我们可以通过向原始锚添加一个类来轻松实现这一点
因此,我们不需要仅仅添加一个
,而需要增加它的趣味性。更改:
$(this).after($('<div class="jsreadmore"><a href="#">Read More</a></div>'));
好极了像冠军一样工作。我甚至没想过仅仅操纵这个类……我在想一个大的、混乱的脚本重新配置。非常感谢。
$targetSlide.next().children('a').html('Read More');
$targetSlide.next().children('a').html('Close');
$(this).after($('<div class="jsreadmore"><a href="#">Read More</a></div>'));
$(this).after($('<div class="jsreadmore"><a href="#" class="read_more_link">Read More</a></div>'));
$targetSlide.next().children('a.read_more_link').html('Read More');
$targetSlide.next().children('a.read_more_link').html('Close');