使用jquery .parent()选择元素

时间:2012-11-02 13:03:52

标签: javascript jquery dom-traversal

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

<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并设置“content_area”的样式使用jquery。在这种情况下,如何使用“。parent()遍历upwars?表格结构是否会成为障碍?

4 个答案:

答案 0 :(得分:2)

ids是独一无二的。如果不是,请将其更改为课程。

如果是:

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

如果您将其更改为课程:

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

答案 1 :(得分: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%。

答案 2 :(得分:1)

jQuery API closest

  

.closest( selector )返回:jQuery

     

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

答案 3 :(得分:0)

很确定它就像

一样简单
$("#some_id").parent().parent().parent().css("some-style", "value");

不确定为什么你不想这样做:

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

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