Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态创建html id属性?_Javascript_Html_Asp.net Mvc_Chart.js - Fatal编程技术网

Javascript 如何动态创建html id属性?

Javascript 如何动态创建html id属性?,javascript,html,asp.net-mvc,chart.js,Javascript,Html,Asp.net Mvc,Chart.js,我试图显示多个图表 现在,我在一个循环中有和文档。getElementById(“饼图”)将只返回具有该id的第一个元素。如何动态创建html属性 <table class="table"> <tr> <th> Questions </th>

我试图显示多个图表

现在,我在一个循环中有
文档。getElementById(“饼图”)
将只返回具有该id的第一个元素。如何动态创建html属性

<table class="table">
                    <tr>
                        <th>
                            Questions
                        </th>
                    </tr>
                    @foreach (var question in (List<Testv3.Models.MyViewModel>)ViewData["questionlist"])
                    {
                        <tr>
                            <td>
                                @question.Question
                                <br />
                                <div class="chart">
                                    <canvas id="pie-chart"></canvas>
                                </div>
                            </td>
                        </tr>
                    }
</table>

我不完全确定您使用什么来呈现HTML,因为您的代码在我看来不像纯HTML。但是,答案保持不变,您可以使用循环的索引作为id的一部分,使其唯一。大概是这样的:

<canvas id="pie-char-@id></canvas>
请参见

HTML Id在整个HTML实例中必须是唯一的。使用“类”而不是“id”


Id是且从未被设计为可多次使用。Id被设计为唯一标识符。

这是什么
@foreach
语法?看起来不像是纯js+html。它不是。它是ASP.NET。您不应该为此使用
id
属性。使用类名和相对选择器。例如,您可以使用jquery获得第二个类名,如
var xx=$('.yourclassName').eq(1)MyViewModel类的结构是什么?您好,我这样做了,现在ID是动态添加的,但是脚本部分呢?如何重写
document.getElementById(“饼图”)
?这是什么意思?你的问题我不清楚,但如果这解决了你的问题,请考虑接受它作为一个答案。试着问一些简单明了的问题。HTML5画布、JavaScript、ASP.NET,不清楚您对哪一部分有问题。尝试缩小问题范围(首先确保您知道ASP.NET指令是如何工作的,并从那里着手)。
<canvas id="pie-char-@id></canvas>