这是我用于在两个块中调用相同js函数的代码(在两个div标签中)。第二个标签的答案(div id =" frame4")也会打印在第一个标签内(div id =" frame3")。我想单独打印它们。我怎么能这样做?
overflow
函数的代码
<div id="frame3">
<! ----pieChart ----- !>
<h5><i>Code Coverage</i></h5>
<div id="pieChart"></div>
<script type="text/javascript">
dsPieChart(<%=coverage %>);
</script>
</div>
<!test_density !>
<div id="frame3">
<div id="pieChart"></div>
<script type="text/javascript">
dsPieChart(<%=density %>);
</script>
</div>
答案 0 :(得分:3)
更改函数以传递元素ID的第二个参数。
function dsPieChart(x, selectorId){
更改硬编码选择器:
var vis = d3.select("#pieChart");
要
var vis = d3.select("#" + selectorId);
然后,当您调用该函数时,还会在第二个参数中标识id选择器。请注意,根据定义,元素ID在页面中必须是唯一的:
<div id="pieChart-1"></div>
<script type="text/javascript">
dsPieChart(<%=coverage %>, 'pieChart-1');
</script>
</div>
<div id="pieChart-2"></div>
<script type="text/javascript">
dsPieChart(<%=density %>, 'pieChart-2');
</script>
</div>