jsjquery如何获取获取父窗口的父窗口的元素

jsjquery如何获取获取父窗口的父窗口的元素,第1张

发现答非所问的人还不少啊

取父窗口的元素方法:$(selector, windowparentdocument);

那么你取父窗口的父窗口的元素就可以用:$(selector, windowparentparentdocument);

类似的,取其它窗口的方法大同小异

$(selector, windowtopdocument);

$(selector, windowopenerdocument);

$(selector, windowtopframes[0]document);

希望对你能有帮助

jQuery 提供了 parent() 方法用以获取当前匹配元素集合中每个元素的父元素,例如:

$("span")parent(); // 获取所有span标签元素的父节点对象集合

$("selected")parent(); // 获取所有class位selected的元素的父节点对象集合

$(spanselected)parent(); // 获取class为selected的span标签元素的父节点对象集合

另外,注意与parents() 方法的区别——parents() 方法获取当前匹配元素集合中每个元素的祖先元素(祖先元素不仅包括父节点,还包括祖父、曾祖父等等)。

实际上extjs创建的窗体就是div框,只是浮动于其他元素的上层,他实际上和主页面(按钮所在页面)是在同一个页面,不存在父窗体和子窗体的关系

当然,如果你的窗体中有iframe框就另当别论了

做法是在 按钮所在页 定义一个全局变量,在窗体中的组件选择了数据后,把这些数据放到那个全局变量里边,然后在其他地方调用这个变量就行了

数据多的话,全局变量就定义成数组或对象

如果是iframe的话

现在父窗体定义一个全局变量

然在在子窗体数据选择后把值赋给父窗体的全局变量中

windowparentparam = 子窗体变量;

然后在父窗体的其他地方就可以使用 param 这个变量了

/

说明:通过 “父子树” 访问场景内的对象

*** 作:无,查看log信息

教程:ThingJS 教程——>园区与层级——>场景层级

难度:★★☆☆☆

/

var app = new THINGApp({

url: '>

如楼上所说,parentElement是IE专用,它们俩功能是一样的,文档中所有对象都扩展自Node对象,包括document,documentElement等,或者说所有对象都是Node对象,而所有Element对象也都扩展自Node对象,Element对象是可见的,即标签或元素对象,但我认为对象层次和文档层次区分是没有意义的,因为它们实现同样功能,一般为了兼容,都是用parentNode,我们只要知道怎么用就行了,就如:img元素对象和image对象,哈哈,其实我也不理解什么是对象层次和文档层次!只要我们能熟练 *** 纵DOM树就可以了

举个例子:

<table>

<tr>

<p>

<td id="haha">haha</td>

</p>

</tr>

</table>

我们用俩种方法在IE下取得都是P元素对象,而在firefox下用parentNode,取得的是tr元素对象

个人见解,如有不确切之处请说出来,不盛感激!!!

<!DOCTYPE HTML>

<html>

<head>

<title>yugi</title>

<meta charset=UTF-8 />

<style type="text/css">

</style>

<script type="text/javascript" src="jquery-180minjs"></script>

<script type="text/javascript">

jQuery (function ($)

    {

    $ ("divb")click (function ()

    {

     // 不用写太多,用jquery要活学活用,只知道parent,不知道parents,是无用的。

    var ab = $ (this)parents ("div:eq(6)")attr ("class");

    alert (ab);

    });

    });

</script>

</head>

<body>

<div class="a">

<div>

<div>

<div>

<div>

<div>

<div>

<div class="b">ddddd</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</body>

</html>

js对于函数的定义是非常松,即使你在函数定义时未写任何参数,或者你定义的参数有多个,但是你调用时,一个参数也不填,也不会出错的。

因为js函数内默认有个变量,保存你的入参叫:arguments,

他是一个数组,下标从0开始,

所以获取event可以写成

function eventTest(){

var event = windowevent||arguments[0];

//target 就是这个对象

target = eventsrcElement||eventtarget,

//这个对象的值

targetValue = targetvalue;

}

1

2

3

4

5

6

7

1

2

3

4

5

6

7

当然,有的时候需要给函数传入几个参数,这时如果要用想用到event的话可以这么写

function eventTest(a,b){

var event = windowevent || argumentscalleecallerarguments[0]

//target 就是这个对象

target = eventsrcElement||eventtarget,

//这个对象的值

targetValue = targetvalue;

}

1

2

3

4

5

6

7

1

2

3

4

5

6

7

如果传入了参数却如第一种写法的话,则arguments中将会传入传入的参数,这时获取的arguments[0]就会是第一个传入的参数了。

鉴于此,故还是都用第二中方法获取更为稳妥。

以上就是关于js/jquery如何获取获取父窗口的父窗口的元素全部的内容,包括:js/jquery如何获取获取父窗口的父窗口的元素、jquery 如何得到父节点对象、extjs怎么将子窗口中选中的数据传入到父页面中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9505983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存