我是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);
}
但不起作用
答案 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);
});
});
您选择的属性都可以通过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
。