【问题标题】:Jquery - Finding what element $(this) is [duplicate]Jquery - 查找 $(this) 是什么元素 [重复]
【发布时间】:2011-01-20 19:18:05
【问题描述】:

可能重复:
Can jQuery provide the tag name?

嗨!

这个问题太简单了,我很惭愧地问,但我试图找到答案 30 分钟没有任何结果。

如何在下面的代码中找出点击了什么样的元素。

$('*').click(function (event) {
 var this_element = $(this).???;
 return false;
})

我正在寻找的是将 this_element 变量设置为'a'如果它是一个链接,'p'如果它是一个段落'div'如果......

谢谢!

【问题讨论】:

标签: jquery elementname


【解决方案1】:

试试这个:

$('*').click(function (event) {
    var this_element = this.tagName.toLowerCase();
    return false;
});

this 指针指的是被操作的实际元素。作为 DOM Level 2 核心的一部分,所有 DOM 元素都有一个名为 .tagName 的属性。

【讨论】:

  • 确保.toLowerCase() 一些浏览器实现了.tagName 的全部大写,而其他浏览器则没有。
  • 这真的取决于你对标签名称所做的事情。可能没关系。但公平地说,我会做出改变。
【解决方案2】:
$(this).get(0).tagName;

【讨论】:

  • 嗯,-1 是为了什么?它有效:jsbin.com/akohe/edit
  • 不要,但这有点多余 - $(this).get(0) 应该始终等于 this
  • 仅在这种特定情况下为真(单击一个元素)。 $(this) 可能包含多个 DOM 元素……
  • 好吧,当然...如果this 恰好是一个选择器字符串,或者一个元素数组,或者诸如此类。但这与 this 问题并不真正相关。
  • 当我使用这个时,我只是得到未定义的值
猜你喜欢
  • 2018-11-18
  • 2013-04-17
  • 2013-06-15
  • 2017-07-15
  • 2014-02-17
  • 2014-12-20
  • 1970-01-01
  • 2011-05-10
  • 1970-01-01
相关资源
最近更新 更多