代码之家  ›  专栏  ›  技术社区  ›  jinsungy

关于.text的jQuery错误

  •  1
  • jinsungy  · 技术社区  · 14 年前
    $(document).ready(function() {
      $('.taskStatus').text(function(n, oldcontent) {
         if (oldcontent == "Done") return "<a href='blah.com'>Click Here</a>";
      });
    }); 
    
    
    <span id="taskStatus_34" class="taskStatus">Done</span>
    

    为什么上面的代码会在我的网页上显示以下内容

    截图如下:

    alt text

    浏览器:Chrome 6.0.472.55

    编辑:使用mcgrailm的答案,我最终使用了以下代码:

    $('.taskStatus').each(function() {
      if ($(this).text() == 'Done') $(this).html("<a href='blah.com'>Click Here</a>"); 
    });
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   mcgrailm    14 年前

    因为text()需要一个字符串

    所以你可以

       $('.taskStatus').each(function(){
        if($(this).text()== 'Done')  $(this).text("<a href='blah.com'>Click Here</a>");
       });
    

    编辑

    你应该换这条线

     if (oldcontent == "Done") return "<a href='blah.com'>Click Here</a>";
    

    if (oldcontent == "Done") return '<a href="blah.com">Click Here</a>'