【问题标题】:How to get a element name in html for ASP.NET MVC如何在 html 中为 ASP.NET MVC 获取元素名称
【发布时间】:2019-10-30 04:00:47
【问题描述】:

我需要做的是获取一个元素属性名称并发布一个帖子,帖子部分,我想我可以处理,但我做不到。

我有一个带有公司名称循环的项目列表:

<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown">
@{
    foreach (var item in List)
    {
        <a class="dropdown-item" name="@item.CompanyToken" id="selector">
            <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400" id="CompanyId"></i>
            @item.CompanyName
        </a>
    }
}
</div>

在 JavaScript 代码中,我试图通过 id 选择器获取 item,CompanyToken,但是成功了:

<script>
    $("#selector").click(function () {
        var val = $("selector").attr("name").val();
      alert( val);
    });
</script>

【问题讨论】:

  • 只使用var val = $("selector").attr("name");
  • var val = $("selector").attr("name").val(); 这里你的选择器不正确,如果它的ID,你应该使用#selector,你在第一行做了,然后在点击句柄下你没有使用#
  • 但在 for each 循环中,您使用相同的 id selector 意味着多个 a 可以具有相同的 id 值,这是不正确的。如果您想捕获所有a 的点击事件,则可以使用class,然后使用class 选择器进行点击事件。
  • @DeepakSharma 你有什么例子吗?
  • @NathielPaulino 检查小提琴,这里我添加了 3 a 并绑定了 jQuery 点击事件。 jsfiddle.net/b2yao0r3

标签: jquery html asp.net-mvc


【解决方案1】:

每个元素都应该有其唯一的 ID,因此在循环中使用类:

foreach (var item in List)
     {
       <a class="dropdown-item" name="@item.CompanyToken" class="selector">
       <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400" id="CompanyId"></i>
      @item.CompanyName
      </a>
     }

如果要从元素的ID中获取属性值:

var val = $("#selector").attr("name");
console.log(val);

Read more here

【讨论】:

  • 您在元素上使用了class 并在 jquery 中使用了 id 选择器,它不起作用。在 jquery 中使用.selector#用于id,.用于class。
  • 这就是我在答案中添加链接的原因。我正在讲述使用 $("").get(n)$("") 在循环中使用类和访问元素
猜你喜欢
  • 2018-11-12
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-30
  • 2012-01-09
相关资源
最近更新 更多