【发布时间】:2018-10-01 20:00:44
【问题描述】:
我有包括标签和输入的复选框集。
最初,我制作了一个 div 作为 svg 上方标签和输入的包装器,因为我想要复选框 avobe svg。然后我根据嵌套数据键绑定数据以制作包括标签和输入的复选框。
var countryWrapper = d3.select(".checkboxWrapper")
var countryButton =
countryWrapper
.selectAll(".checkboxes")
.data(nest)
.enter()
.append("label")
.attr('for', function(d) { return d.key; })
.text(function(d) { return d.key; })
.attr("class", "checkboxes")
.attr("id", "checkbox-label")
.append("input")
.attr("type", "checkbox")
.attr("id", function(d) { return d.key; })
.attr("value", function(d) { return d.key; })
.attr("class", "checkboxes")
它工作正常。但是标签首先出现,然后是输入。我想颠倒顺序 - 输入(复选框)首先是标签。
这可以通过在正文中制作与键一样多次的标签来完成,但要避免手动制作的方式。
有没有办法在标签中颠倒顺序并在avobe代码中输入? 我发现 HTML 属性 dir=rtl 和 CSS 输入 'float:left' / label 'float:right' 但是他们产生了不希望的后果,例如将 svg 推到中间或在 svg 保持在左侧时将输入/标签放在最右侧。
【问题讨论】:
-
为什么不单独创建输入和标签,而不是链接它们?
标签: javascript html css d3.js svg