javascript - 用js填充表格时,标签a没有给出想要的结果
问题描述
嘿,我尝试从 js 文件中填充我的标签。我希望 tr 标签被 a 标签包围。但我遇到了 2 个代码的 2 个问题。首先,当我使用该代码时
for (var i = 0; i < data.length; i++) {
$("#liste").find('tbody')
.append($('<a>')
.attr('href',data[i][0])
.append($('<tr>')
.append($('<td>')
.text(data[i][1]) )
.append($('<td>')
.text(data[i][3])
)
)
);
}
尽管表格代码中的一切似乎都是我想要的方式,但看起来好像没有样式代码。
第二个问题是当我使用该代码时
for (var i = 0; i < data.length; i++) {
$('#liste').append('<a href="'+data[i][0]+'"><tr><td>'+data[i][1]+'</td><td>'+data[i][3]+'</td></tr></a>');}
图像和内容的一切都很美。但我的 a 标签甚至从未添加过。
解决方案
您可以尝试使用 JavaScriptonclick
作为tr
标记:
// Mock data
const data = [
['https://bbc.com', '1a', '1b', '1c'],
['https://bing.com', '2a', '2b', '2c']
];
// Allows redirect to specific URL
function openLink(url) {
window.location = url;
}
// Pay attention, that the link tag was removed from
// original code, onclick for tr tag was added instead
for (var i = 0; i < data.length; i++) {
$('#liste').append('<tr onclick="openLink(\''+data[i][0]+'\')"><td>'+data[i][1]+'</td><td>'+data[i][3]+'</td></tr>');
}
/* Style tr with onclick attribute as link */
tr[onclick] {
color: blue;
cursor: pointer;
text-decoration: underline;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="liste"></table>
推荐阅读
- python - 无法在 Windows 上使用 pipenv 创建环境
- javascript - React - Rxjs:在流中转换父组件事件处理程序
- javascript - div上的悬停问题,水平滚动出现在最后一个div上
- google-apps-script - 谷歌 adon 中的清单文件
- flutter - 在按钮上的文本字段小部件中显示输出 在 Flutter 中单击按钮计算后单击按钮
- java - 如何自定义请求正文的示例值并使用 springdoc-open-api 在 swagger-ui 上执行它
- jquery - 如何在一个`.on` jQuery代码中使用两个事件
- go - 如何模拟 amqp.Dial 等库中的函数
- javascript - 如何在对象中迭代地添加键:值
- c++ - 写入未对齐的存储