关于.text的jQuery错误

时间:2010-09-15 19:18:08

标签: jquery

$(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 jQuery:1.4.1

编辑:显然,它适用于p(段落)标签,但不适用于div和span。

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

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

1 个答案:

答案 0 :(得分:0)

因为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>'