jQuery onClick捕获元素的id

时间:2010-12-08 06:41:15

标签: jquery jquery-selectors

我有很多像这样的输入字段

<input type="radio" name="name" id="name" onchange="enableTxt()" /> 

当我点击此单选按钮时,我想捕获无线电输入的ID。我使用以下代码

function enableTxt() {
    var id = $(this).attr("id");
    alert(id);
}

收到此错误

a.attributes is undefined

7 个答案:

答案 0 :(得分:39)

HTML:

<input type="radio" name="name" id="name" onchange="enableTxt(this)" /> 

JS:

function enableTxt(elem) {
    var id = $(elem).attr("id");
    alert(id);
}

答案 1 :(得分:6)

html

 <button class="destroy" id="123">

jQuery

  $('button.destroy').on('click', function(e){
    e.preventDefault();
    console.log(this.id);

答案 2 :(得分:3)

您只能传递HTML中的ID

<input type="radio" name="name" id="name" onchange="enableTxt($(this).attr('id'))" />

function enableTxt(id)
{
    alert(id);
}

答案 3 :(得分:2)

将此传递给函数

enableTxt(this)

function enableTxt(item) {
    var id = $(item).attr("id");
    alert(id);
}

答案 4 :(得分:2)

试试这个

alert($("input:radio").attr('id'));

答案 5 :(得分:0)

另一个选择是使用JQ

$("#name").on('onchange',enableText);

这样你的对象将是当前 this

答案 6 :(得分:0)

此视频可能会有所帮助:- https://youtu.be/gO286Isc5FM

我正在尝试使用 $(this).attr(id)

但是返回的是 undefined error

但是使用这种方法(在视频中)有效

我的用例: <h1 id = "Autogenerated" Onclick="print(this)">AutoGeneratedlistItems<h1>"

function print(listItem){console.log(listItem.id) } 输出 Clicked 元素的 id