jquery:获取对象名称?

时间:2011-04-02 16:23:37

标签: jquery object click objectname

我试图通过下面的代码检索点击的对象名称,但我只得到[对象对象],如何获取对象名称?

<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名称,但有时候我想得到类名作为对象名。

5 个答案:

答案 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;
});