jquery:获取对象名称?
我想通过下面的代码检索点击的对象名称,但我只获得[对象对象],我如何获得对象名称?jquery:获取对象名称?
<a href="#" class="clickme">click</a>
$('.clickme').click(function(){
alert($(this));
return false;
});
我想获得'.clickme'
作为我的对象名称。
谢谢。
编辑:
感谢帮助家伙。对不起,不清楚。
我想要动态获取对象名称,当我把这个jquery click()变成一个自定义的函数或插件。
所以,
<a href="#" class="clickme">click</a>
$('.clickme').click(function(){
alert($(this));
return false;
});
我想获得'.clickme'
我的对象名称。
,并
<a href="#" id="clickme">click</a>
$('#clickme').click(function(){
alert($(this));
return false;
});
我想获得'#clickme'
我的对象名称。
所以你有时会注意到我想获取id名称,但有时候我想把类名称作为对象名称。
jQuery也有可以用来找到你要找的内部属性selector
:
$('.clickme').selector == '.clickme';
$('.clickme').find('a').selector == '.clickme a';
但是你不能click(function(e){})
中使用此,因为你必须使用重新选择this
:
$('.clickme').click(function(e){
alert($(this).selector); // alerts nothing
});
然而,当你创建点击功能,您可以该元素分配给一个变量和内引用它:
var $cm = $('.clickme').click(function(e){
alert($cm.selector); // alerts '.clickme'
});
完全喜欢最后一个例子。易于阅读和稍后在其他条件语句中使用。 – blackhawk 2013-03-15 15:37:25
这是班级。不是对象名称,也不是唯一的。
您可以使用this.className
或$(this).attr('class')
得到它。
如果您想要一些独特的东西,请使用id
属性并用id
替换class
。
'$(this).attr('class')' – tvanfosson 2011-04-02 16:27:28
姓名或ID?
$('.clickme').click(function(){
alert(this.id); // or $(this).attr('name') if you want the name
return false;
});
它真的看起来像是你想要的类(虽然,我不知道为什么,因为你已经使用类作为选择器)。
$('.clickme').click(function(){
alert($(this).attr('class'));
return false;
});
我不得不使用e.target.id使用事件对象,因为昆西提到 – tettoffensive 2017-07-29 00:05:20
使用事件对象
$('.clickme').click(function(e){
alert($(e.target).attr('class'));
return false;
});
谢谢。如果它是一个id而不是一个类,会发生什么情况。我可以使它动态。请检查我的编辑上面的解释。谢谢。 – laukok 2011-04-02 17:23:33
这不响应的确切问题,但对一个当我到达那里我得到了一个选择 - 所以你也可能;-)
简短的回答:使用 “this.name”,这是不是 “$(本).attr( '名')”
样品相同:
$("*").click(function (event) {
event.stopPropagation();
// Display the name of the clicked object
$(this).after("<span> " + this.name +" clicked! </span>");
// Change the name for what you want (optional - just to show it's doable)
this.name = this.name + "X";
});
您可以举一个例子,说明点击 a>'? – 2011-04-02 16:51:24