如何使用jquery获取元素的id、类或名称属性

如何使用jquery获取元素的id、类或名称属性,jquery,attr,html,Jquery,Attr,Html,我是jquery新手。如何使用jquery获取元素的名称、ID或类名 <div class="className" onclick="getname();"></div> <div id="idName" onclick="getName();"></div> <div name="attrName" onclick="getName()"></div> function getName(){ attrName = $(t

我是jquery新手。如何使用jquery获取元素的名称、ID或类名

<div class="className" onclick="getname();"></div>
<div id="idName" onclick="getName();"></div>
<div name="attrName" onclick="getName()"></div>

function getName(){
attrName = $(this).attr("name");
alert(attrName);
}

函数getName(){
attrName=$(this.attr(“name”);
警报(属性名称);
}
但是不起作用

试试这个:

JavaScript

$(function () {
    $('div').click(function () {
        var elem = $(this);
        alert('Class: ' + elem.attr('class'));
        alert('Id: ' + elem.attr('id'));
        alert('Name: ' + elem.attr('name'));    
    });​​​​
});
HTML

<div class="className" onclick="getname();"></div>
<div id="idName" onclick="getName();"></div>
<div name="attrName" onclick="getName()"></div>
JSfiddle:


在上面的脚本中,我们附加到页面
$('div')上每个div的click事件。单击…
。在回调中,我们将得到它的属性

首先使用jQuery,您应该附加
click()
处理程序,而不是使用过时的
onclick
属性。然后,您可以使用函数中的
this
关键字

试试这个:

<div class="className"></div>
<div id="idName"></div>
<div name="attrName"></div>

您选择的属性都可以通过POJS获得,您还可以将
this
转换为jQuery对象以获取其他属性,例如:

var title = $(this).attr('title');
var myattribute = $(this).data('myattribute'); // using HTML5: <div data-myattribute="foo"></div>
var title=$(this.attr('title');
var myattribute=$(this).data('myattribute');//使用HTML5:

您需要传递对要获取其name属性的元素的引用。试试这个:

jQuery

function getName(me) {
    attrName = $(me).attr("name");
    alert(attrName);
}​
HTML

a
B
C​


现在应该得到最后一个元素的名称,因为它是唯一有名称的元素。其他人将返回未定义的

为什么您要重新声明
var
三次(比必要的次数多两次),使用
name
两次而不使用
this.className
?@DavidThomas抱歉,正忙着做小提琴演示。修正了错误。我还使用了
attr()
来演示,将做一个注释。
这个名称
是未定义的,至少在Chrome上是这样
this.getAttribute('name')
给出了期望值。
function getName(me) {
    attrName = $(me).attr("name");
    alert(attrName);
}​
<div class="className" onclick="getname(this);">a</div>
<div id="idName" onclick="getName(this);">b</div>
<div name="attrName" onclick="getName(this)">c</div>​