操作JQuery .text()输出

时间:2016-01-03 10:43:30

标签: javascript jquery html text methods

我正在构建一个类似Twitter的网站,该网站随机推送我想要以特定方式导出到网站的推文。到目前为止,我的大部分要求都已得到满足,我唯一的问题是将Twitter用户的jQuery文本转换为可以点击的链接。

我的代码片段展示了我目前的工作:

<script>
$(document).ready(function(){
    var $body = $('.middle');
    $body.html();
    var index = streams.home.length - 1;
    var newTweets = function(index){
        while(index >= 0){
            var tweet = streams.home[index];
            var $tweet = $('<div class=tweetBox></div>');
            $tweet.text('@' + tweet.user + ': ' + tweet.message + tweet.created_at);
            $tweet.appendTo($body);
            index -= 1;
        }  
    }
    newTweets(index);
    $('button').on('click', function(){
        index = streams.home.length - 1;
        newTweets(index); 
    });
});
</script>

提出问题的一行是$tweet.text('@' + tweet.user + ': ' + tweet.message + tweet.created_at); 我想把tweet.user转换成可点击的链接。关于如何攻击这一点的任何建议都将非常感激。

2 个答案:

答案 0 :(得分:2)

您必须使用jQuery的HTML功能。 http://api.jquery.com/html/

像这样:

var link = $('<a>', {text: tweet.user, href: '#'}).prop('outerHTML');
$tweet.html('@' + link + ': ' + tweet.message + tweet.created_at);

它会完成这项工作。

答案 1 :(得分:0)

如果我理解正确,那么这就是你想要的

var link = $('<a>', {text: tweet.user, href: '#'}).prop('outerHTML');
$tweet.html('@' + link + ': ' + tweet.message + tweet.created_at);