1

谁能帮我在 d3js 中完成这项工作

我的html标签如下

<div id="source1"><ul><li>Source</li></ul></div>

我想通过删除 DIV id source1 中的所有 UL LI 标签并在 div id source1 中创建新的 UL LI 标签来修改<li>Source</li>with<li>some other text</li>

我的代码在这里

d3.selectAll("ul").remove()

d3.selectAll("li").remove()

var test=document.getElementbyId('source1');
var ul=document.createElement('ul');
document.body.appendChild(test);
test.appendChild(ul);
var li=document.createElement('li');
ul.appendChild(li);
li.innerHTML="some other text";
4

2 回答 2

0

这是应该工作的代码:

var test=document.getElementById('source1');
var li=test.children[0].children[0];
li.innerHTML="some other text";

您只能更改文本,而不是重新创建元素。

于 2014-05-23T08:28:27.503 回答
0

如果您的 moto 只是编辑 li 标签中的文本,您可以使用“innerHtml”javascript 方法。这是最好的方法。

<div id="source1"><ul><li id="liId">Source</li></ul></div>
 document.getElementById('liId').innerHTML="Some other text";

如果您想替换元素(在您的情况下,这不是必需的),您可以使用它,

<div id="source1">
<ul><li id="liId">Source</li></ul>
</div>

<script>
var para = document.createElement("li");
var node = document.createTextNode("Some other Text");
para.appendChild(node);

var parent = document.getElementById("source1");
var child = document.getElementById("liId");
parent.replaceChild(para,child);
 </script>

希望这可以帮助

于 2014-05-23T08:33:08.440 回答