jquery怎么获取当前元素的父元素
这样:
《ul class=“parent1“》
《li》《a href=“#“ id=“item1“》jquery获取父节点《/a》《/li》
《li》《a href=“#“》jquery获取父元素《/a》《/li》
《/ul》
扩展资料:
注意事项
parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。
parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。
《div id=’div1’》
《div id=’div2’》《p》《/p》
《/div》《div id=’div3’ class=’a’》《p》《/p》《/div》
《div id=’div4’》《p》《/p》《/div》
《/div》
JS如何获取对象的父对象(非文档对象)
在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问题,下面是js获取父窗体和子窗体的对象js:
1.在iframe子页面中获取父页面的元素:
a》window.parent.document这个是获取父页面document中的对象;
b》如果要获取父页面js中的方法:window.parent.xxxx();xxxx()为方法;
2.在父页面中获取iframe子页面中的元素:
a》
var child =
document.getElementByIdx_x(“mainFrame“).contentWindow;//mainFrame这个id是父页面iframe的id
child.document;//获取子页面中的document对象;
vue之$children和$parent, provide和inject用法以及使用style的方式 显示背景图片
1.使用$parent可以获取父组件没传的属性和方法
第一步:父组件定义一个数据
第二步:
$parent和$children的区别是$parent方法在created里调用,$children方法在mounted里调用
2.通过 provide和inject可以父传子也可以爷爷传孙子 可以向下传递,不可以兄弟之间传值,兄弟传值建议使用事件总线的方式
注意:provide/inject可实现跨组件传值,数据的流只能是向下传递,其中父组件provide,子组件inject。provide : 必须在父组件进行使用,用来给后代组件注入依赖
(属性或方法)inject : 必须
在子组件进行使用,用来获取根组件定义的要跨组件传递的数据
基本传值方式
第一步:
第二步:
第三步:验证子传父不成功,会进行报错
第四步:如果父级组件的值是动态从接口中获取的,需要把provide改成函数的形式,数据以函数的形式返回
第五步:儿子也可以使用爷爷传的内容
3.在Vue脚手架中使用style的方式 显示背景图片
js/jquery如何获取获取父窗口的父窗口的元素
发现答非所问的人还不少啊
取父窗口的元素方法:$(selector, window.parent.document);
那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);
类似的,取其它窗口的方法大同小异
$(selector, window.top.document);
$(selector, window.opener.document);
$(selector, window.top.frames.document);
希望对你能有帮助
怎样用jquery获取父元素的元素名
1、parent()
取得一个包含着所有匹配元素的唯一父元素的元素集合。
你可以使用可选的表达式来筛选。
代码如下
1.$(’#item1’).parent().parent(’.parent1’);
2、:parent
匹配含有子元素或者文本的元素
代码如下
1.$(’li:parent’);
3、parents()
取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
代码如下
1.$(’#items’).parents(’.parent1’);
4、closest()
closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。
closest和parents的主要区别是:1,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找;2,前者逐级向上查找,直到发现匹配的元素后 就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤;3,前者返回0或1个元素,后者可能包含0 个,1个,或者多个元素。
closest对于处理事件委派非常有用。
JQUERY如何获得某元素父级的父级
jquery中parent()可以获取父级元素,所以获得某元素父级的父级可以使用
$(selector).parent().parent();
示例如下
-
创建Html代码及css样式
《div class=“class1“》
class1
《div class=“class2“》
class2
《div class=“class3“》
class3
《/div》
《/div》
《/div》div{padding:10px 20px;border:4px solid #ebcbbe;}
div.class1{width:200px;height:120px;} -
编写jquery代码
$(function(){
$(“div.class3“).click(function() {
obj = $(this).parent().parent();
alert(obj.prop(’class’));
});
}) -
查看效果
如何获取一个用户控件的Parent
this.Parent.FindControl(“父页面控件Id“),这个之前老师讲过,还实现了的
如何使用 parentNode 来获取一个或多个 HTML 元素
1. 通过顶层document节点获取:
(1)
document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法。如果页面上含有多个相同id的节点,那么只返回第一个节点。
如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id。这个方法可以看作是document.getElementById()的另外一种写法,不过$()的功能更为强大,具体用法可以参考它们各自的API文档。
(2)document.getElementsByName(elementName):该方法是通过节点的
name获取节点,从名字可以看出,这个方法返回的不是一个节点元素,而是具有同样名称的节点数组。然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。
例如:在HTML中checkbox和radio都是通过相同的name属性值,来标识一个组内的元素。如果我们现在要获取被选中的元素,首先获取改组元素,然后循环判断是节点的checked属性值是否为true即可。
(3)document.getElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:document.getElementsByTagName(’A’)将会返回页面上所有超链接节点。在获取节点之前,一般都是知道节点的类型的,所以使用该方法比较简单。但是缺点也是显而易见,那就是返回的数组可能十分庞大,这样就会浪费很多时间。那么,这个方法是不是就没有用处了呢?当然不是,这个方法和上面的两个不同,它不是document节点的专有方法,还可以应用其他的节点,下面将会提到。
2、通过父节点获取:
(1)parentObj.firstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持
parentObj.firstChild.firstChild.firstChild…的形式,如此就可以获得更深层次的节点。
(2)parentObj.lastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。
在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObj.firstChild.lastChild.lastChild…
(3)parentObj.childNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。
注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox2.0.0.11上获取的是所有子节点即包括子节点的子节点。
(4)parentObj.children:获取已知节点的直接子节点数组。注意:经测试,在IE7上,和childNodes效果一样,而Firefox2.0.0.11不支持。这也是为什么我要使用和其他方法不同样式的原因。因此不建议使用。
(5)parentObj.getElementsByTagName(tagName):使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例如:parentObj.getElementsByTagName(’A’)返回已知的子节点中的所有超链接。
3、通过临近节点获取:
(1)neighbourNode.previousSibling:获取已知节点(neighbourNode)的前一个节点,这个属性和前面的firstChild、lastChild一样都似乎可以递归使用的。
(2)neighbourNode.nextSibling:获取已知节点(neighbourNode)的下一个节点,同样支持递归。
4、通过子节点获取:
(1)childNode.parentNode:获取已知节点的父节点。
vue中子组件使用this.$parent获取父组件的值和方法 如果有多个父组件怎么办
亲生父亲只可能有一个的,不能有多个,程序中也一样,某个子组件的父组件也只可能有一个。你“这个子组件可能在多个父组件里面都存在”的说法本身就是错误的,在其他父组件里的子组件,即使与“这个子组件”完全一样, 那它也是另一个组件啊,不是“这个子组件”,所以这个观念你首先应该搞清楚。其实就和现实生活中一样,“你”只能有一个,“你的父亲”也只能有一个。
所以正确的说法应该是“分别获取多个具有相同特征的子组件的父组件”,这个可以通过循环来解决,具体要看过你的完整代码才知道
jquery parent和parents的区别分析
parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。
工具原料:器、浏览器
1、做一个简单的代码结构,看看parent和parents的取值:
《div id=’div1’》
《div id=’div2’》《p》《/p》《/div》
《div id=’div3’ class=’a’》《p》《/p》《/div》
《div id=’div4’》《p》《/p》《/div》
《/div》
$(’p’).parent()取到的是div2,div3,div4
$(’p’).parent(’.a’)取到的是div3
$(’p’).parent().parent()取到的是div1,这点比较奇特;不过Jquery对象本身的特点决定了这是可行的。
$(’p’).parents()取到的是div1,div2,div3,div4
$(’p’).parents(’.a’)取到的是div3
2、总结:parent方法就是获取某个元素的父元素,可以了连续使用获取父元素的父元素,如$(’p’).parent().parent()。而parents则获取的祖先元素的集合,祖先元素包括父元素等祖先元素。