1 回答
TA贡献1824条经验 获得超6个赞
正如您可能想象的那样,复制/粘贴/修改每个代码的代码cities
无论如何都不理想。
您可以考虑使用数组方法,例如forEach
和find
...
const cities = [
{ id: 1, city: 'Cambridge', link: '/locations/cambridge' },
{ id: 2, city: 'Timmins', link: '/locations/timmins' }
]
// Go through each cell
let col5 = document.querySelectorAll("td:nth-child(5)");
col5.forEach(function(el) {
// Find the city
var city = cities.find(function(x) { return x.city == el.innerHTML; });
if (city) {
// Wrap in a link
el.innerHTML = '<a href="' + city.link + '">' + el.innerHTML + '</a>';
}
});
<table>
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>Cambridge</td></tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>Timmins</td></tr>
</table>
(在任何人发表评论之前请注意...我使用function(x) {}
而不是x =>
因为我仍然需要为 IE11 编写代码,它不支持箭头函数)
- 1 回答
- 0 关注
- 71 浏览
添加回答
举报