Jquery点击功能不适用于所有ID

Posted

技术标签:

【中文标题】Jquery点击功能不适用于所有ID【英文标题】:Jquery click function not working for all the ids 【发布时间】:2020-03-20 02:31:22 【问题描述】:

我创建了一个包含数据库中所有产品的页面,这是一个动态页面。列是循环创建的。每当用户单击产品时,我都会获取唯一的产品 ID,但这仅适用于一个产品,即使未触发单击功能,也适用于下一个产品。下面是代码供参考。

    专辑.产品名称 类别:专辑.product_category 价格:专辑.product_price

    $(document).ready(function() $('#k').click(function() var a = $('#custId').val(); 警报(一) 控制台日志(一) );

这仅适用于第一个产品,即循环中的第一个产品。休息时,点击功能不起作用。请帮忙!

以下是 html 代码:

<div class="card-body"> 
    <a href="#" id="k">
        <img src="qph.fs.quoracdn.net/…" class="card-img-top"    id="k">
    </a> 
    <h5 class="card-title"> album.product_name </h5>
    <p class="card-text">Category :  album.product_category </p>
    <p class="card-text">Price :  album.product_price </p>
    <input type="hidden" id="custId" value= album.id > 
</div>

【问题讨论】:

下面是html代码 qph.fs.quoracdn.net/…" class="card- img-top" id="k">
album.product_name h5>

类别: album.product_category

价格: album.product_price

【参考方案1】:

您不能有多个具有相同 ID 的元素。考虑为所有目标元素添加一个通用类名,例如myClass,然后您可以使用以下方法绑定所需的事件:

$('.myClass').click(function() 
    //your code here...
);

解释:浏览器假定您只有一个 id 为 k 的元素(因为按照惯例应该是这样),因此 $("#k") 将只针对具有该 ID 的第一个元素。

【讨论】:

我现在注意到的一件事是第一个对象的 id 只在我点击的地方返回。

以上是关于Jquery点击功能不适用于所有ID的主要内容,如果未能解决你的问题,请参考以下文章

Jquery .click() 不适用于 safari .. 但适用于其他浏览器

jquery 自动完成功能不适用于重音

jQuery隐藏功能不适用于iframe

选择除 div 之外的所有元素不适用于 jQuery

Angularjs 不适用于 Jquery 加载功能

jQuery .post() 函数不适用于 Bootstrap