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 的 $(this).parent().parent().find('.active') 的 Zepto.js 替代品是啥?