0

我有这个标记,如下所示:

<div id="content_area">
<table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
<tbody>
  <tr>
    <td width="100%" valign="top">
      <div id="some_id"> </div>
    </td>
  </tr>
   </tbody>
</table>
</div>

现在我想使用 id 为“some_id”的 div 获取 id 为“content_area”的 div,并使用 jquery设置“content_area”的样式。在这种情况下,我如何使用“.parent()遍历 upwars ?表结构会成为障碍吗?

4

4 回答 4

2

id 是唯一的。如果不是,请将其更改为类。

如果它们是:

$('#content_area').css();

如果您将其更改为类:

$('#some_id').parent('.content_area').css();
于 2012-11-02T13:07:24.227 回答
1

最接近的 jQuery API

.closest( selector )返回:jQuery

描述:对于集合中的每个元素,通过测试元素本身并向上遍历其在 DOM 树中的祖先来获取与选择器匹配的第一个元素。

于 2012-11-02T13:10:30.643 回答
1

jQuery.parent()

$("#some_id").parent();

将返回元素<td width="100%" valign="top">


jQuery.parents()

$("#some_id").parents("#content_area");

将返回元素<div id="content_area">


jQuery.css()

$("#some_id").parents("#content_area").css({ color: "#333", height: "100%" });

将使用其父元素<div id="content_area">的字体颜色#333333和 100% 的高度来设置元素的样式。

于 2012-11-02T13:06:55.820 回答
0

很确定它很简单

$("#some_id").parent().parent().parent().css("some-style", "value");

不知道为什么你不想这样做:

$("#content_area").css("some-style", "value");

如果是因为您有多个具有相同 ID 的 div,请考虑切换到使用类。每个 ID 在任何给定页面上只能出现一次。

于 2012-11-02T13:06:12.217 回答