2012-03-07 26 views
0

这里的内容的例子:http://jsbin.com/izegoy
问题:http://i.imgur.com/h1T98.pngjQuery的不能正常更新跨度标签

脚本:

$(document).ready(function(){ 
    $("p:eq(1)").hide().after("<span>View more</span>"); 
    $("span").click(function(){ 
     $("p:eq(1)").slideToggle(200,function(){ 
      if($("span").text()=="View more"){ 
       $("span").text("View less"); 
     } else{ 
       $("span").text("View more"); 
     } 
     }); 
    }); 
}); 

HTML:

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
tempor incididunt ut labore et dolore magna aliqua.</p> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
tempor incididunt ut labore et dolore magna aliqua.</p> 

当我更新内容在span标签之外,它会在原始span标签之外创建新文本。它在页面上并不明显,但只有在查看生成的源代码时才是如此。我不知道,我做错了什么。

谢谢你的时间

+0

您的代码似乎工作:[http://jsfiddle.net/UpK9V/](http://jsfiddle.net/UpK9V/) – bfavaretto 2012-03-07 16:12:53

+0

我没有看到您所看到的内容,所创建的唯一文本位于span标签内。 – 2012-03-07 16:13:47

+0

在Chrome 17中工作(并使用Inspector进行验证)。 – 2012-03-07 16:14:51

回答

0

这应该真的很好。但是,你可以尝试使用html();方法来代替:

$("span").html("View less"); 
+0

谢谢。这工作完美。 http://jsbin.com/izegoy/2 – pumpalarumpa 2012-03-07 16:35:23

+0

很高兴帮助:) – 2012-03-08 15:31:10