javascript-将链接添加到D3生成的表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-将链接添加到D3生成的表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3141字,纯文字阅读大概需要5分钟。
内容图文
![javascript-将链接添加到D3生成的表](/upload/InfoBanner/zyjiaocheng/669/6dba11071957458099abed16273621ea.jpg)
我想添加到使用d3从表格数据创建的表的链接.快速浏览一下我的代码段:
var data = [
{'Engine':'Google', 'Founded':'1998', 'Monthly-Visitors':4840295000, 'Site':'www.google.com'},
{'Engine':'Baidu', 'Founded':'2000', 'Monthly-Visitors':1471079000, 'Site':'www.baidu.com'},
{'Engine':'Yahoo', 'Founded':'1995', 'Monthly-Visitors':1038375000, 'Site':'www.yahoo.com'},
{'Engine':'Bing', 'Founded':'2009', 'Monthly-Visitors':203482000, 'Site':'www.bing.com'},
{'Engine':'AOL', 'Founded':'1991', 'Monthly-Visitors': 39961000, 'Site':'www.aolsearch.com'}
];
var columns = ['Engine', 'Founded', 'Monthly-Visitors', 'Site'];
var table = d3.select('body').append('table'),
thead = table.append('thead'),
tbody = table.append('tbody');
thead.append('tr')
.selectAll('th')
.data(columns)
.enter()
.append('th')
.text(function(column) {return column; });
var rows = tbody.selectAll('tr')
.data(data)
.enter()
.append('tr');
var cells = rows.selectAll('td')
.data(function(row) {
return columns.map(function(column) {
return { column: column, value: row[column]};
});
})
.enter()
.append('td')
.text(function(d) {
if (d.column === 'Site') {
//console.log('now what?')
}
return d.value;
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//d3js.org/d3.v3.min.js"></script>
</head>
<body>
我已经创建了表格,但是我不确定如何使包含网站的行成为可点击的链接.过去我曾经使用过:
d3.select('.links').append('div')
.append('a')
.attr('href', 'http://www.google.com')
.append('text')
.html('Click here to go to a search engine.');
但是我不知道如何在表中使用这种方法.我尝试在td内附加a,但是没有用.我记得,SVG文本可能很棘手.我认为通过附加div我们不会附加SVG文本…我认为..
问题:如何在我的表的“站点”列中添加href属性?
解决方法:
您可以简单地将.text更改为.html
并添加< a>像这样在您的数据中添加标签:
'Site': '<a href="www.google.com"> google </a>'
或像这样在数据的return语句中添加条件.
if (d.column === 'Site') {
return "<a href="+ d.value +">" + d.value + "</a>"
}
代码如下:
var data = [
{'Engine':'Google', 'Founded':'1998', 'Monthly-Visitors':4840295000, 'Site':'www.google.com'},
{'Engine':'Baidu', 'Founded':'2000', 'Monthly-Visitors':1471079000, 'Site':'www.baidu.com'},
{'Engine':'Yahoo', 'Founded':'1995', 'Monthly-Visitors':1038375000, 'Site':'www.yahoo.com'},
{'Engine':'Bing', 'Founded':'2009', 'Monthly-Visitors':203482000, 'Site':'www.bing.com'},
{'Engine':'AOL', 'Founded':'1991', 'Monthly-Visitors': 39961000, 'Site':'www.aolsearch.com'}
];
var columns = ['Engine', 'Founded', 'Monthly-Visitors', 'Site'];
var table = d3.select('body').append('table'),
thead = table.append('thead'),
tbody = table.append('tbody');
thead.append('tr')
.selectAll('th')
.data(columns)
.enter()
.append('th')
.text(function(column) {return column; });
var rows = tbody.selectAll('tr')
.data(data)
.enter()
.append('tr');
var cells = rows.selectAll('td')
.data(function(row) {
return columns.map(function(column) {
return { column: column, value: row[column]};
});
})
.enter()
.append('td')
.html(function(d) {
if (d.column === 'Site') {
return "<a href="+ d.value +">" + d.value + "</a>"
}
return d.value;
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//d3js.org/d3.v3.min.js"></script>
</head>
<body>
内容总结
以上是互联网集市为您收集整理的javascript-将链接添加到D3生成的表全部内容,希望文章能够帮你解决javascript-将链接添加到D3生成的表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。