簡體   English   中英

使用D3JS在div中的img和p

[英]img and p within div using D3JS

我想要一個包含圖像和圖像標題的div。 我設法通過以下代碼獲取圖像,但是無法在div內合並圖像和文本。

function update(sel) {
        console.log('update')
        console.log(sel)
        update_images(d3.select("#fotoos"), sel);
}

function update_images(ul, data) {
  var image = ul.selectAll("img").data(data);
  image.exit().remove();
  image.enter().append("img");
  image.attr("class", "foto");
  image.attr("src", function(d) {
      var u = '{{ =URL('download') }}'
      return u.concat("/", d.file) })
}

我如何獲得以下內容?

<div>
   <p ...
   <img ...
</div>

謝謝理查德

注意:{{}}代碼確實來自Web2Py

您可以在http://jsfiddle.net/zceg2/1/上看到一個工作示例。

您需要先創建容器元素(在這種情況下為div ),然后使用該選擇內容來添加文本和圖像。

var data = [{id: 1, text: 'sample text 1', imgsrc: 'http://placehold.it/100x100'},
            {id: 2, text: 'sample text 2', imgsrc: 'http://placehold.it/100x100'},
            {id: 3, text: 'sample text 3', imgsrc: 'http://placehold.it/100x100'},
            {id: 4, text: 'sample text 4', imgsrc: 'http://placehold.it/100x100'}];

var gallery = d3.select('body').append('div');

var container = gallery.selectAll('.container')
    .data(data, function(d) { return d.id; });

container.enter().append('div')
    .attr('class', 'container')

container.exit().remove();


container.selectAll('.text')
    .data(function(d) { return [d]; })
    .enter().append('p')
    .attr('class', 'text')
    .text(function(d) { return d.text; });

container.selectAll('.picture')
    .data(function(d) { return [d]; })
    .enter().append('img')
    .attr('class', 'picture')
    .attr('src', function(d) { return d.imgsrc; });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM