jquery中$(this).parent() 啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery中$(this).parent() 啥意思?相关的知识,希望对你有一定的参考价值。

jquery中$(this).parent()是当前标记的父标记的意思。

在使用 $(this).parent()的时候,需要对他进行操作,要先得到他的父级,然后在进行操作。

parent() 获得当前匹配元素集合中每个元素的父元素,使用选择器进行筛选是可选的。

如果给定一个表示 DOM 元素集合的 jQuery 对象,.parent() 方法允许我们在 DOM 树中搜索这些元素的父元素,并用匹配元素构造一个新的 jQuery 对象。.parents() 和 .parent() 方法类似,不同的是后者沿 DOM 树向上遍历单一层级。

该方法接受可选的选择器表达式,与我们向 $() 函数中传递的参数类型相同。如果应用这个选择器,则将通过检测元素是否匹配该选择器对元素进行筛选。

扩展资料

jQuery中的this和$(this)的不同:

$(this)指向jQuery对象是无可厚非的,但this就是指向dom对象,这个是因为jQuery做了特殊的处理。 

在创建dom的jQuery对象时,jQuery不仅仅为dom创建一个jQuery对象,而且还将dom存储在所创建对象的数组中。

this[0] = elem这条语句就是实现对象数组。所以javascript是很有意思的语言,使用this访问时,可以访问它所指向的对象的成员函数,而其实this又是一个对象数组。其存放的是dom对象。

bind函数调用的是 on函数,而on函数又是通过 each函数实现了jQuery.event.add。因此 jQuery.event.add( this中的this也就是dom对象了。所以事件中的this也就是dom对象了。

参考技术A 当前标记的父标记。如:<div id="parent"><div id="children1"></div></div>,如果children1是当前元素的话,那么$("#children1").parent()就是指parent这个标记。本回答被提问者和网友采纳

Jquery - 查找 $(this) 是啥元素 [重复]

【中文标题】Jquery - 查找 $(this) 是啥元素 [重复]【英文标题】: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'如果......

谢谢!

【问题讨论】:

参见:***.com/questions/341900/… 和 ***.com/questions/1532331/… 和 ***.com/questions/1864151/… ... 顺便说一句,应该包含event.stopPropagation(); 以阻止您的点击无缘无故地传递给父元素。请参阅 api 文档:api.jquery.com/get @ghoppe - jQuery 事件句柄中的 return false; .stopPropagation().preventDefault() 啊,没想到!谢谢@gnarf。 【参考方案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 问题并不真正相关。 当我使用这个时,我只是得到未定义的值

以上是关于jquery中$(this).parent() 啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中的parent()和parents()有啥区别呢?

jQuery 多个 parent() 调用

jQuery 的 $(this).parent().parent().find('.active') 的 Zepto.js 替代品是啥?

jQuery 利用 parent() parents() 寻找父级 或祖宗元素

js/jquery this 坑

jquery 动态添加的元素 绑定事件click失效