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()」を使用してアップウォーをトラバースするにはどうすればよいですか?テーブル構造はハードルになりますか?

4

4 に答える 4

2

IDは一意です。そうでない場合は、それをクラスに変更します。

彼らがいる場合:

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

それをクラスに変更した場合:

$('#some_id').parent('.content_area').css();
于 2012-11-02T13:07:24.227 に答える
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 に答える
1

最も近いjQueryAPI

.closest( selector )戻り値:jQuery

説明:セット内の各要素について、要素自体をテストし、DOMツリーでその祖先をトラバースすることにより、セレクターに一致する最初の要素を取得します。

于 2012-11-02T13:10:30.643 に答える
0

それは同じくらい簡単だとかなり確信しています

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

ただし、これを実行したくない理由はわかりません。

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

同じIDを持つ複数のdivがあることが原因である場合は、クラスの使用に切り替えることを検討してください。各IDは、特定のページで1回だけ発生する必要があります。

于 2012-11-02T13:06:12.217 に答える