文字未更改为链接

时间:2012-02-06 09:22:07

标签: javascript jquery html twitter

我目前有:

    $('.tweet').text(function (_, text) {

        var exp = /(#(\S+))/g;

        return text.replace(exp, '<a href="http://twitter.com/#!/search/%23$2">
                                      `$1 
                                  </a>'
                           );  

    });

这创建了类似于:

的东西

<a href="http://twitter.com/#!/search/%23data">#data </a>

但它仍然显示为文字而不是链接。

图片示例:

enter image description here

2 个答案:

答案 0 :(得分:5)

使用.html()代替.text()

如果您使用.text(),您的HTML将被转义:

  

我们需要知道此方法会转义提供的字符串   必要的,以便它在HTML中正确呈现。为此,它打电话   DOM方法.createTextNode(),它取代了特殊字符   与他们的HTML实体等价物(例如&lt; for&lt;)。

jsFiddle Example with .html()

答案 1 :(得分:3)

jquery函数.text()与javascript属性.innerText / .textContent相同。

请尝试使用“.html()”代替“.text()”。