在d3.js或JS中创建一个简单的超链接列表

时间:2016-02-22 00:51:18

标签: javascript html d3.js hyperlink

我有一个包含逗号分隔网址的字符串,如下所示:

  

“www.url1.com,www.url2.com,www.url3.com”。

我能够将此字符串传递给JS函数。我也可以把这个字符串分成一个网址列表。除此之外,我如何遍历此列表并创建一个简单的超链接页面,如下所示?我更喜欢基于d3.js的解决方案。

<a href="www.url1.com">First URL!</a>
<a href="www.url1.com">Second URL!</a>
<a href="www.url1.com">Third URL!</a>

2 个答案:

答案 0 :(得分:1)

不确定为什么你想用库而不是普通的js做这个,最简单的就像

    var str = "www.url1.com, www.url2.com, www.url3.com";
    str.split(',').forEach(function(url, i) {
        var el = document.createElement('a');
        el.href = "http://" + url.trim();
        el.innerHTML = "URL " + ++i
        document.body.appendChild(el); // or target div
    });

答案 1 :(得分:0)

使用d3的解决方案。

&#13;
&#13;
var str = "www.url1.com, www.url2.com, www.url3.com";

var urls = str.split(",");

var anchors = d3.select("body")
  .selectAll("a")
  .data(urls)
  .enter()
  .append("a")
  .attr("href", function(url) {
    return url.trim();
  })
  .text(function(url, i) {
    return "URL " + (i + 1);
  });

anchors.insert("br",":first-child");
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
&#13;
&#13;
&#13;