我的问题是:
我正在尝试在表中创建一些单元格,这些单元格将由我从XML文档中提取的数据填充,但我也希望这些单元格是超链接。我这样做:
var table = $('<table></table>').addClass('table');
for(i=0;i<x.length;i++){
var row = $('<tr></tr>').text(x.item(i).getAttribute("id")).attr('href', 'www.my-url.com/'+x.item(i).getAttribute("id"));
table.append(row);
}
使用我想要的文本正确填充单元格,但单元格不可单击。我在控制台中没有出现任何错误。知道我做错了吗?
答案 0 :(得分:4)
您无法在<tr>
标记上设置href属性,并希望它像<a>
标记一样工作。相反,您需要在<a>
标记内添加<tr>
标记。你可以这样做:
var table = $('<table class="mytable"></table>');
for (var i = 0; i < x.length; i++) {
var txt = x.item(i).id;
var url = 'http://www.my-url.com/' + txt;
var row = $('<tr></tr>').html('<a href="' + url + '">' + txt + '</a>');
table.append(row);
}
该方法创建HTML并让浏览器解析它。你也可以像这样直接创建元素:
var table = $('<table class="mytable"></table>');
for (var i = 0; i < x.length; i++) {
var txt = x.item(i).id;
var url = 'http://www.my-url.com/' + txt;
var row = $('<tr></tr>')
var link = document.createElement("a");
link.href = url;
link.innerHTML = txt;
row.append(link);
table.append(row);
}
答案 1 :(得分:0)
尝试:
var row = $('<tr></tr>').html(....