javascript - jQuery 检索页面上的多个 .attr()

标签 javascript jquery attr

这里是新手 - 我知道我在这里缺少一些简单的东西。

目标是使用 data-orgid 属性从此 a href 检索 orgid。

<a class="claim" href="http://www.url.com" id="orgAct-claim" data-orgid="111">Claim Your Listing</a>
<a class="claim" href="http://www.url.com" id="orgAct-claim" data-orgid="222">Claim Your Listing</a>
<a class="claim" href="http://www.url.com" id="orgAct-claim" data-orgid="333">Claim Your Listing</a>

我可以使用以下 jquery 检索第一个实例的属性。

// Click - Claim Your Listing
$( "#orgAct-claim" ).click(function() {
    // Acquire orig from onClick attribute and set orgid.
    var orgid = $('#orgAct-claim').attr('data-orgid');
    alert(orgid);
});

在这里摆弄:https://jsfiddle.net/riverecho/0b7vpyw4/

= = = = =

更进一步,我可以通过将所有实例包装在另一个名为 #listings 的 id 中来获取至少为每个实例触发的属性。但是,每个 .click 事件始终返回第一个 orgid“111”。

<div id="listings">
    <a class="claim" href="http://www.url.com" id="orgAct-claim" data-orgid="111">Claim Your Listing</a>
    <a class="claim" href="http://www.url.com" id="orgAct-claim" data-orgid="222">Claim Your Listing</a>
    <a class="claim" href="http://www.url.com" id="orgAct-claim" data-orgid="333">Claim Your Listing</a>
</div>

在这里摆弄:https://jsfiddle.net/riverecho/w5eqguok/

= = = = =

如何才能将 var 设置为我单击的特定实例:分别为 111、222 或 333?

最佳答案

首先,id 应该是唯一的。所以不要有相同的id。如果需要,可以使用类(class)。但在这种情况下,您可以使用在回调中传递的 this,如下所示:

$( "#orgAct-claim" ).click(function() {
    var orgid = $(this).attr('data-orgid');
    alert(orgid);
});

关于javascript - jQuery 检索页面上的多个 .attr(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30689973/

相关文章:

javascript - 这段带有匿名闭包的 React 代码对 validateFormat 做了什么?

javascript - redux.js 中的 fetch(url) 使用错误的端口

javascript - 如何使用 jQuery 从 div 标签中的一组 iframe 中获取一个 iframe

javascript - 响应式谷歌可视化数据表

javascript - 根据标题高度滚动到元素的偏移量

javascript - 如何使用 JQuery 从远程元素获取 img src 和文本?

javascript - 垂直 Javascript slider ,比它应该滑动的更多

php - 使用 uploadify 发送额外的字段数据

jquery - 使用 jQuery 获取另一个文件列表中的下一个 href?

jquery - 动画图像属性更改