如何使用jquery获取id,类或名称attr元素

时间:2012-11-17 21:31:40

标签: 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 = $(this).attr("name");
alert(attrName);
}

但不起作用

3 个答案:

答案 0 :(得分:4)

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

试试这个:

<div class="className"></div>
<div id="idName"></div>
<div name="attrName"></div>
$(function() {
    $("div").click(function() {
        var name = this.name;
        var cls = this.className;
        var id= this.id;

        alert("Name: " + name + " / Class: " + cls + " / Id: " + id);
    });
});

Example fiddle

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

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

答案 1 :(得分:3)

试试这个:

<强>的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>

<强> CSS

​div {
    width: 100px;
    height: 100px;
    border: 1px solid black;
}​

JSfiddle:http://jsfiddle.net/54ynV/

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

答案 2 :(得分:1)

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

的jQuery

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

HTML

<div class="className" onclick="getname(this);">a</div>
<div id="idName" onclick="getName(this);">b</div>
<div name="attrName" onclick="getName(this)">c</div>​

<强> jsFiddle example

现在你应该得到最后一个元素的名称,因为那是唯一一个有名字的元素。其他人将返回undefined