我试图通过下面的代码检索点击的对象名称,但我只得到[对象对象],如何获取对象名称?
<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名称,但有时候我想得到类名作为对象名。
答案 0 :(得分:8)
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'
});
答案 1 :(得分:3)
那是班级。不是对象名称,当然也没有什么独特之处。
您可以使用this.className
或$(this).attr('class')
。
如果您想要一些独特的内容,请使用id
属性并将class
替换为id
。
答案 2 :(得分:3)
这不是对确切的问题作出回应,而是对我到达那里时得到的问题 - 所以你也许也是如此; - )
简短回答:使用“ this.name ”,这与“$(this).attr('name')”
相同样品:
$("*").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";
});
答案 3 :(得分:1)
姓名或身份证?
$('.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;
});
答案 4 :(得分:1)
使用事件对象的替代方法
$('.clickme').click(function(e){
alert($(e.target).attr('class'));
return false;
});