【发布时间】:2015-07-22 04:17:02
【问题描述】:
我这里有这段代码:
var tweetText = $("#tweet_text").text();
var replaced = replace(tweetText);
document.getElementById("tweet_text").innerHTML = replaced;
它从文本元素中获取文本,并突出显示提及和 URL 以使它们可点击。
这是replace() 代码:
function replace(text) {
return text.replace(/([@#])([a-z\d_]+)/ig, function(_, marker, tag) {
if (marker === "@")
return '<a href="?r=site/twitterprofile&q=$1">' + "@" + tag + '</a>';
return '<a href="?r=site/hashtag&q=$2">' + "#" + tag + '</a>';
});
}
我有一长串 div / tweets,当我运行 replace() 时,它只将模式匹配功能应用于一个 div。
为了解决这个问题,我想使用.each() 收集所有#tweet_textdiv,然后在循环通过时应用replace() 函数。
有人可以帮我做吗?
【问题讨论】:
-
查看each的文档
-
您想更改文本框的值或 div 的内容吗?
标签: javascript jquery html regex