jquery在单击时从html属性中提取数据

jquery在单击时从html属性中提取数据,jquery,custom-attributes,Jquery,Custom Attributes,我正在尝试创建一种简单的方法,当我有多个按钮要用相同的“id”单击时,从自定义HTML属性中提取信息 我想知道是否可以通过我按下的特定按钮传递“url”属性值。现在,它总是抓住第一个 代码: $(文档).ready(函数(){ $(“:输入[id='alarm']”。单击(函数(){ 警报($(“输入[url]”).attr(“url”); }); }); 身份证件 酪蛋白 报警 2040 测试-11110-123-R4 2042 测试-11110-123-R6 使用此(但不要使用重复的id)

我正在尝试创建一种简单的方法,当我有多个按钮要用相同的“id”单击时,从自定义HTML属性中提取信息

我想知道是否可以通过我按下的特定按钮传递“url”属性值。现在,它总是抓住第一个

代码:


$(文档).ready(函数(){
$(“:输入[id='alarm']”。单击(函数(){
警报($(“输入[url]”).attr(“url”);
});
});
身份证件
酪蛋白
报警
2040
测试-11110-123-R4
2042
测试-11110-123-R6
使用
(但不要使用重复的id)

使用此(但不要使用重复的id)


使用带有
data-*
的自定义HTML属性前缀时,在处理程序中,这会引用元素本身,因此只需使用
$(this.data(“url”)

不要使用重复的id,它会使HTML无效,并且处理程序将只附加到第一个实例,因此将其改为类

加成
使用带有
data-*
的自定义HTML属性前缀时,在处理程序中,这会引用元素本身,因此只需使用
$(this.data(“url”)

不要使用重复的id,它会使HTML无效,并且处理程序将只附加到第一个实例,因此将其改为类

加成
只需简单地将代码更改为:

$(document).ready(function() { 
    $(":input[id='alarm']").click(function() {
        alert($(this).attr("url")); //or
        alert($(this).prop("url"));
    });
});

只需简单地将代码更改为:

$(document).ready(function() { 
    $(":input[id='alarm']").click(function() {
        alert($(this).attr("url")); //or
        alert($(this).prop("url"));
    });
});

啊!!谢谢大家。只是其中一件简单得让你头晕目眩的事情。我能给这个贴上“#脑屁”的标签吗?:)啊!!谢谢大家。只是其中一件简单得让你头晕目眩的事情。我能给这个贴上“#脑屁”的标签吗?:)
 $(":input[id='alarm']").click(function() {
        alert($(this).data("url"));
    });
<tr>
        <td width="50">2040</td>
        <td width="180">TEST-111110-123-R4</td>
        <td><input class="alarm" type="button" value="Cancel" data-url="../silencealarm.php?id=2040"></td>
    </tr>
        <td width="50">2042</td>
        <td width="180">TEST-111110-123-R6</td>
        <td><input class="alarm" type="button" value="Cancel" data-url="../silencealarm.php?id=2042"></td>
    </tr>
$(":input.alarm").click(function() {
        alert($(this).data("url"));
});
$(document).ready(function() { 
    $(":input[id='alarm']").click(function() {
        alert($(this).attr("url")); //or
        alert($(this).prop("url"));
    });
});