jQuery使用href创建元素

时间:2017-01-25 09:32:14

标签: javascript jquery

我目前正在使用这段代码:

for (var website in response) {
    var row = $('<tr class="odd gradeX"/>');
    $('<td/>', { text: response[website]['website_name'] }).appendTo(row);
    row.appendTo(tBody);
}

不,我希望td链接到/website?id=,其中id应该等于response[website]。实现这一目标的最短途径是什么?

使其更清晰。如果目前$('<td/>', { text: response[website]['website_name']的结果是: 例如,<td>siteName</td>response[website]内的值为2,而不是我想创建一个如下所示的元素:

<td><a href="/website?id=2">siteName</a></td>

注意:我正在寻找最短的最佳方式。不一定是一线解决方案。

3 个答案:

答案 0 :(得分:2)

以与您现有的方式类似的方式创建tda

for (var website in response) {
    var row = $('<tr class="odd gradeX"/>');
    var cell = $('<td/>');

    $('<a/>', { href: '/website?id=' +  response[website], text: response[website]['website_name'] })
              .appendTo(cell);
    cell.appendTo(row);
    row.appendTo(tBody);
}

答案 1 :(得分:0)

您可以使用String Template Literal创建一个html字符串,然后使用SELECT COUNT(*) FROM user_sequences WHERE sequence_name = 'BIR_GRIDBASE_ID_SEQ'; 插入元素。

&#13;
&#13;
$.append
&#13;
var response={test:{website_name:"Test Website",id:2},foo:{website_name:"foo",id:3},bar:{website_name:"Bar Website",id:4}};

for (var website in response) {
  var _html = `<tr class="odd gradeX"><td><a href="/website?id=${response[website]['id']}">${response[website]['website_name']}</a></td></tr>`
  $('#table tbody').append(_html);
}
&#13;
&#13;
&#13;

注意:所有浏览器都不支持字符串模板。为此,您可以使用普通字符串连接来创建HTML字符串。

答案 2 :(得分:-2)

$(document).ready(function () {
for (var website in response) {
    var row = $('<tr class="odd gradeX"/>');
    $('<td><a id="'+response[website]+'" href="#">'+response[website]["website_name"]+'</a></td>').appendTo(row);');
    row.appendTo(tBody);
}
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>