创建具有通用 ID 的按钮列表,以便使用 getElementById 获取其中任何一个。 (动态标识)

Create a List of button with generic id's in order to get any of them with getElementById. (Id dinamically)

我想将按钮的 ID 动态创建到按钮列表中,以便使用 getElementById 获取任何按钮。

使用相同id的代码示例:

 @foreach (var cat in Model) {
     <div class="list-group">
         <button id="nameCategory" onclick="onClickSeeProducts()" >@cat.Name</button>
     </div>
 }

onClickSeeProducts 函数应如下所示:

function onClickSeeProducts() {
    button = document.getElementById("nameCategory").innerHTML;
    //Something 
}

ID 必须是唯一的,因为您所有的按钮都有相同的 ID,无法通过 ID 知道您要定位哪个按钮。
一种更简单的方法是将按钮作为参数传递给函数。

... onclick="onClickSeeProducts(this)" ...
...
function onClickSeeProducts(button) {
...
   msg = button.innerHTML;
...

ID 必须是唯一的。我建议您遵循代码 Passing value as function parameter:

@foreach (var cat in Model)
            {
                <div class="list-group">
                    <button onclick="onClickSeeProducts('@cat.Name')" >@cat.Name</button>
                </div>
            }

JS

function onClickSeeProducts(msg) {
    alert(uriPCategory +  '/' + msg );
    // Get product of category nameCategory
    $.getJSON(uriPCategory)
       .done(function (data) {
           $.each(data, function (key, item) {
                alert(JSON.stringify(item));
           });
}