如何使用jQuery在循环中附加到ul的链接?

时间:2018-05-31 16:14:53

标签: javascript jquery

我有一组用户,我想将其添加到ul列表中。当我将用户作为li元素添加到列表时,代码工作正常:

users = ['Bob','Mary', 'Mike']
var ul = $('<ul></ul>');
users.forEach(function (user) {
 ul.append($('<li><strong><strong></li>').text(user));
});
$('#users').html(ul);

但我想要的是将用户添加为超链接文本,以便可以点击,所以例如我希望Bob为rendred:

<li><strong><a href='#' id="Bob">Bob</a><strong></li>

但无论我尝试过什么,我都无法将a元素附加到ul上面。感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

这似乎是开始使用template strings的一个很好的例子,这些是字符串,您可以轻松地将变量添加到:

&#13;
&#13;
users = ['Bob','Mary', 'Mike']
var ul = $('<ul></ul>');
users.forEach(function (user) {
  ul.append($(`<li><strong><a href="#" id="${user}">${user}</a></strong></li>`));
});
$('#users').html(ul);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="users"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用+运算符连接:

users = ['Bob','Mary', 'Mike']
var ul = $('<ul></ul>');
users.forEach(function (user) {
  ul.append($('<li><strong><a href="#" id="' + user + '">' + user + '</a></strong></li>'));
});
$('#users').html(ul);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="users"></div>