jquery显示/隐藏后dom链接需要添加另一个链接

jquery显示/隐藏后dom链接需要添加另一个链接,jquery,hyperlink,hide,add,show,Jquery,Hyperlink,Hide,Add,Show,我有一个定义列表,带有jquery显示/隐藏效果和“readmore”按钮,打开后该按钮将更改为“close”。现在我需要在屏幕顶部为每个描述放置另一个引用锚的按钮。当我试图编辑脚本以添加新链接时,“返回页面顶部”按钮变成另一个“关闭”按钮。我对JS不够精通,无法编辑这个脚本,使它能够完成我需要的任务,而不会产生一些奇怪的后果。感谢您的帮助 SCRIPT $(function(){ var slideHeight = 36; $('.jswrap').each(func

我有一个定义列表,带有jquery显示/隐藏效果和“readmore”按钮,打开后该按钮将更改为“close”。现在我需要在屏幕顶部为每个描述放置另一个引用锚的按钮。当我试图编辑脚本以添加新链接时,“返回页面顶部”按钮变成另一个“关闭”按钮。我对JS不够精通,无法编辑这个脚本,使它能够完成我需要的任务,而不会产生一些奇怪的后果。感谢您的帮助

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');