首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态创建html id属性?

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

Stack Overflow用户
提问于 2018-02-09 06:09:51
回答 2查看 401关注 0票数 0

我试图显示多个图表。

现在,我有一个循环中的<canvas id="pie-chart">document.getElementById("pie-chart")将只返回该id的第一个元素。如何动态创建html属性?

代码语言:javascript
复制
<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>

我的脚本部分:

代码语言:javascript
复制
var ctx1 = document.getElementById("pie-chart").getContext("2d");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-09 06:18:58

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

代码语言:javascript
复制
<canvas id="pie-char-@id></canvas>

使用@id是循环的索引。

如果您的当前呈现程序不支持这一点,您可能希望在循环之外添加一个计数器,使用该计数器作为您的id的一部分。然后在循环结束时增加计数器。

票数 0
EN

Stack Overflow用户

发布于 2018-02-09 06:27:17

请参阅Does ID have to be unique in the whole page?

HTML Id需要在整个HTML实例中是唯一的。用"class“代替"id”。

Id是而且从来没有设计为可多次使用。Id设计为唯一标识符。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48699732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档