请帮帮我。我在创建页面中所有用户名的链接时遇到问题。我使用javascript替换名称,但我只能替换一个名称。
例如,我有4个用户名:usera,userb,userc和userd。每当这些单词显示在页面中时,我希望它们被替换为:
usera = <a href="link.php?user=usera">usera</a>
userb = <a href="link.php?user=userb">userb</a>
等等。
这是我的代码,但我只能替换一个。
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<h1>replacing usernames to link</h1>
<p>
usera, userb, userc, userd, userk, userks
</p>
</body>
</html>
这是我的javascript
var $els = $('body *');
$els.each(function(){
$(this).html($(this).text().replace(/usera/g, '<a href="link.php?user=usera">usera</a>'));
//$(this).html($(this).text().replace(/userb/g, '<a href="link.php?user=userb">userb</a>'));
});
只有一个用户,我想创建一个数组,但我不知道语法。请帮帮我。
答案 0 :(得分:1)
最好尝试使用map()
数组函数
var $els = $('body p').text().trim().split(',');
var res = $els.map(function(a) {
return '<a href="link.php?user=' + a + '">' + a + '</a>'
})
$('body').append(res.join('<br>'))
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>replacing usernames to link</h1>
<p> usera, userb, userc, userd, userk, userks</p>
&#13;
答案 1 :(得分:0)
使用字符类扩展对a-d
字母的检查,这样可行,您不需要数组。
$(this).html($(this).text().replace(/user([a-d])/g, '<a href="link.php?user=user$1">user$1</a>'));