【问题标题】:How to change HTML element's id value in a for loop如何在 for 循环中更改 HTML 元素的 id 值
【发布时间】:2020-12-05 19:36:14
【问题描述】:

我正在尝试在我的 asp.net 项目中插入评级系统。问题是,在我看到的每个教程中,都有两个单独的评级,一个显示实体的评级,另一个显示您的评级率(其中大多数就像添加带有评级的新评论)。所以我试图只使用一个 5 星评级,显示平均评级并在悬停和点击时改变颜色。这是我的逻辑:

@for (var i = 1; i <= Model.Photo.Rating.Rate; i++)
                            {
                                <span class="starGlowN"  id="Rating+i" "onclick="CRate(i)" onmouseover="CRateOver(i)" onmouseout="CRateOut(i)"></span>
                            }
                            @for (var i = (Model.Photo.Rating.Rate + 1); i <= 5; i++)
                            {
                                <span class="starFadeN"></span>
                            }}

所有函数(Crate,CRateOver,CrateOut)都采用跨度类 StarGlown 的 is 并更改类名,这样星星就会改变它们的颜色。

如何更改循环中的 id (Rating1,rating2),我已经尝试使用 id="Rating+i" 但这不起作用,您能否帮助使用正确的语法

【问题讨论】:

  • id="@("Rating" + i)"
  • id="Rating@i"

标签: html jquery asp.net model-view-controller view


【解决方案1】:
@for (var i = 1; i <= Model.Photo.Rating.Rate; i++)
                    {
                         <span class="starGlowN" id="Rating" + @i onclick="CRate(@i)" onmouseover="CRateOver(@i)" onmouseout="CRateOut(@i)" onmouseout="CRateOut(@i)"></span>
                        }

【讨论】:

  • @freedomn-m 我认为它是正确的:id = "Rating" + @i
  • @freedomn-m 我做了测试
  • okey @freedomn-m 你为什么不在我的代码上修复它?
  • 不用担心 - 只是指出您的原件中看起来像是错别字(在 onclick "onclick 之前引用)。
  • @freedomn-m 我为你打开并测试了一个项目 :)
猜你喜欢
  • 2021-01-22
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 2017-06-10
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多