2011-08-23 38 views
0

我有一张桌子,里面有一些单选按钮。当我点击一个单选按钮时,我想更新两个sorrounding容器ID属性(一个div和一个表格)。问题是,我需要去4和6级别,而我知道如何做到这一点的唯一方法是父母()。父母()。父母()。父母()等 我正在寻找更好的解决方案并希望有人能指引我朝着正确的方向前进。你可以看到的“亲子”树怎么在这里的形象:如何有效更改周边div /父母的属性?

http://imageshack.us/photo/my-images/834/imgkz.png/

我已经有一个函数clickhandler等设置。

基本上我需要检查表的id属性是否为“回答表”,如果不是,我需要更改它。此外,我需要检查从表格的div两个级别是“回答”,如果不是,我需要改变这一点。

感谢

+0

你可以看到它我提供的链接 – Nanek

回答

2

您可以使用.closest('#answeredTable').parents('#answeredTable')

使用.parent()仅在DOM树选择第一个父元素,选择.closest()将让你走到DOM树和比赛,直到它找到的元素,而.parents()将返回DOM的整个parentset和匹配的元素在整个集合中。

1

您需要使用.parents()通过DOM的多级去

例如,在你的榜样,你可以得到周围div与此代码:

$("#Q_18_2015").parents("div#answered") 

顺便说一下,ID应该是唯一的,否则,您的代码可能无法正常工作。你应该使用类来代替。

<div class="answered"> 

因此,代码将变为:

$("#Q_18_2015").parents("div.answered") 

提供Q_18_2015确实是一个唯一的ID

0

可以使用.parents

$("element").parent(".parentClass") 

parents会涨的DOM,直到找到与类的父parentClass