【问题标题】:jQuery doesn't properly update contents of the span tagjQuery 没有正确更新 span 标签的内容
【发布时间】:2012-03-08 00:40:53
【问题描述】:

示例如下:http://jsbin.com/izegoy
问题:http://i.imgur.com/h1T98.png

脚本:

$(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 标签之外创建新文本。它在页面上并不明显,但只有在您查看生成的源代码时才会注意到。我不知道,我做错了什么。

感谢您的宝贵时间

【问题讨论】:

  • 您的代码似乎有效:http://jsfiddle.net/UpK9V/
  • 我没有看到你所看到的,唯一正在创建的文本是在 span 标签内。
  • 在 Chrome 17 中工作(并使用 Inspector 验证)。
  • 似乎对我有用,生成的源代码:&lt;span&gt;View less&lt;/span&gt;
  • 看起来没问题,但来源搞砸了。它看起来像这样:少看“少看”

标签: jquery


【解决方案1】:

那应该真的很好用。但您可以尝试使用html(); 方法:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多