• ベストアンサー

jquery 親オブジェクトをさかのぼって探す

例えばある <label id="hoge"></label>があって これが<td></td>の中にあるんだけども、tdから見て何階層目にあるか不明なとき このtdを指定するにはどうしたらいいでしょう。 直近の親と確定しているのであれば $("#hoge").parent("td") ですが、、、 親 婆ちゃん もしかしたらもっと上の世代かも? て時はどうやるのが賢い方法でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

$('#hoge').parents('td'); でない? 実際のところどんな構造になってるか見てみないとわからないけど。

muuming2001
質問者

お礼

ありがとうございます。 同じような結果に辿り着いたところでした。 $('#hoge').parents('td').first(); tdの更に上にtdがあっても対象外にしたかったので上記の方法にしましたですです。

関連するQ&A

  • jQueryのラジオボタン操作系サンプル探してます

    jQueryをペチペチと勉強していますが、ちょっと詰まってしまいました。 以下のような動作をするサンプルプログラムを探しています。 「ラジオボタンを押下すると、それに対応するテーブルのtr要素の背景色を変更する。」 ==========ソースここから========== <table border ="1"> <tr id ="0" class ="table_1"> <td>hoge1</td><td>hoge1</td><td>hoge1</td> </tr> <tr id ="1" class ="table_1"> <td>hoge2</td><td>hoge2</td><td>hoge2</td> </tr> <tr id ="2" class ="table_1"> <td>hoge3</td><td>hoge3</td><td>hoge3</td> </tr> </table> <table border ="1"> <tr> <td><input type ="radio" name ="radio_hoge" value ="100" id ="0" class ="radio_1"></td><td>hoge1</td> </tr> <tr> <td><input type ="radio" name ="radio_hoge" value ="200" id ="1" class ="radio_1"></td><td>hoge2</td> </tr> <tr> <td><input type ="radio" name ="radio_hoge" value ="300" id ="2" class ="radio_1"></td><td>hoge3</td> </tr> ==========ソースここまで========== HTMLの構成はこんな感じにしてあります。 下側のテーブル内のラジオボタンを押下すると、上側のテーブルのtrの背景色を変更したいのですが、指定の方法が分からず悩んでいます。 (trとradioは、同一「id」値と対応する。ものとしたい。 現状、他に実現してある内容は ・tr行にマウスオーバーすると、trの色を変える ・tr行をクリックすると、trの色を変えて保持する ・tr行をクリックすると、対応するラジオボタンを選択する です。 コレに、 ・ラジオボタンを選択すると、対応するtr行の色を変える を追加したく思っています。 当面の問題は、tr(のid?)に対して「this」以外で指定を行う方法が分からない。 ということかと思っています。 コレ(trに対してthis以外で指定)が分かれば、もう一つやろうとしてる、tr行でクリックした以外のtr行の色を初期色に戻す。 あたりも解決すると思っているので、ご存じの方がいましたら、教えていただけると助かりますm(_ _)m 以下は、現状実現してある内容~の参考にしたサイトです。 >>・tr行にマウスオーバーすると、trの色を変える http://1bit.mobi/20120313111043.html >>・tr行をクリックすると、trの色を変えて保持する http://ponk.jp/jquery/basic/state_save の「4」番目 >>・tr行をクリックすると、対応するラジオボタンを選択する http://www.tohoho-web.com/lng/199912/99120188.htm よろしくお願いします。

    • ベストアンサー
    • AJAX
  • iframe内からjQueryで指定したい

    jQueryのparentで親要素のIDを収得したいのですが、iframe内から、 読み込み元のHTMLを.parent()で追っていくと、取得できません。 jQuery("div#main iframe").contents().find('body').click(function(){ var hoge = jQuery(this).parent().parent().attr("id"); alert(hoge); }); .parent()では読み込み元のHTMLをまでいけないようなんですが、jQueryでは取得できないのでしょうか。 他にiframeから親を取得する記述があるのでしょうか。 アドバイスいただけると助かります。 拙い説明で恐縮ですが、どうぞよろしくお願いします。 こちら↓の板が閉鎖されるのを知らずにポストしていまい、 http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi 解決の見込みがなさそうですで、改めてこちらでお尋ねしています。 ややマルチ気味で恐縮ですが、ご容赦ください。

  • Jqueryで特定のa要素を持つ親要素の取得について

    Jqueryで特定のa要素を持つ親要素の取得について <div id="shop"> <p><a href="http://www.aaaa.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.bbbb.jp">お店の名前</a></p> <p>あああああああああ</p> </div> ここから、『http://www.bbbb.jp』のリンクを持つdivを指定するとして・・・ $('a[href*="http://www.bbbb.jp"]').parent().parent().css("background-color","#ccc"); こんな風に書きました。 これでもOKなんですけど、『.parent().parent()』親の親って・・・(汗) もう少しよい親子関係の指定があれば、ぜひ教えていただきたいです!

  • Jquery 親要素で順番入れ替え

    Jquery 親要素で順番入れ替え a要素を取得して、その親の親(<div id="shop">)の順番を入れ替えしたいのです。 【HTML】 <div id="shop"> <p><a href="http://www.aaaa.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.bbbb.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.cccc.jp">お店の名前</a></p> <p>あああああああああ</p> </div> 【Jquery】 $(function(){ $('a[href*="http://www.aaaa.jp"]').parent().parent(); $('a[href*="http://www.bbbb.jp"]').parent().parent(); .... }); これで『http://www.aaaa.jp』のリンクを持つdivと『http://www.bbbb.jp』のリンクを持つdivとを指定できるわけですが、 ページを表示した時に順番を入れ替えするにはどうしたらよいのでしょうか?例えば、 【実行結果HTML】 <div id="shop"> <p><a href="http://www.cccc.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.aaaa.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.bbbb.jp">お店の名前</a></p> <p>あああああああああ</p> </div> HTMLを直接触って変更できたら楽なんですけどね~。PHPで吐き出されているのでムリなんです。ソースぐちゃぐちゃで仕様書もない始末なので、Jqueryで入れ替えできないものかと・・・

  • Jquery 特定のa要素を持つ親を2つに分けてランダムに順番入れ替え

    Jquery 特定のa要素を持つ親を2つに分けてランダムに順番入れ替え 立て続けに何度も質問して申し訳ありません。いろんな方に質問して、答えていただき、 【HTML】 <div id="shop"> <p><a href="http://www.aaaa.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.bbbb.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.cccc.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.dddd.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.eeee.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.ffff.jp">お店の名前</a></p> <p>あああああああああ</p> </div> <div id="shop"> <p><a href="http://www.gggg.jp">お店の名前</a></p> <p>あああああああああ</p> </div> 【Jquery】 $(function(){ var shopA = $('a[href*="http://www.aaaa.jp"]').parent().parent().css("background-color","#CCC"); var shopC = $('a[href*="http://www.cccc.jp"]').parent().parent().css("background-color","#666"); shopA.after(shopC); }); 特定のURLを持つ親のdivの順番を入れ替えることに成功しました。が、 さらにこの特定のa要素を持つdivをリロードごとにランダムで順番を切り替えるにはどうすればいいのでしょうか?? さらに、特定のURLを持たない、つまりそれ以外のURLを持つ親要素もランダムで順番を切り替えたいのです。 つまり、上と下で2つに分けたランダムが動いているようにしたいのです。 有料と無料で振り分けて、有料を上でランダム、その下で無料の登録URLがランダムにしたいんだとか・・・。 すみません、もし分かるかた、教えていただけたら助かります!!

  • rails 1:多で指定した子を持たない親の検索

    rails4で1:多関連のモデルに対して 指定した子を持たない親の検索はどうしたら良いでしょうか? 含まない子の条件は複数指定できるようにしたいです 現状は下記のように実装しているのですが スマートな方法があれば教えてください ----- excludes = [ '除外1', '除外2',... ] ret = Parent.all for exclude in excludes do  ret = ret - Parent.joins(:children).where('children.value = ?', exclude)  ids = ret.map{ |p| p.id }.uniq  ret = where(id: ids) end return ret -----

    • ベストアンサー
    • Ruby
  • PHP+MySQLで複数のラジオボタンから値を取得

    初めまして。もしお力を貸していただけるならと思い質問させていただきます。 今、MySQLに登録したデータを修正できるようにするファイルを作成しておりまして、 IDを指定すれば、ラジオボタンに登録されているデータがcheckedされるようにしたいと 考えています。 【MySQL】 [hoge] id hogeA 0or1 hogeB 0or1 hogeC 0or1 【update.php】 <?php require ("../dbconnect.php"); $_REQUEST["id"] = 選択したIDの受け渡し; $id = $_REQUEST["id"]; $sql = sprintf ("SELECT * FROM hoge WHERE id=%d", mysql_real_escape_string ($id) ); $recordSet = mysql_query ($sql) or die (mysql_error()); $data = mysql_fetch_assoc ($recordSet); $checkedOK = null; $checkedNG = null; switch($data["hogeA"]){ case 0: $checkedOK = 'checked'; break; case 1: $checkedNG = 'checked'; } ?> <html> <head> <form method="post" id="updateForm" action="update.php" enctype="multipart/form-data"> <table> <tr> <th>hogeA</th> <td><label> <input type="radio" name="hogeA" id="hogeA01" class="style02" value="0" <?php echo (htmlspecialchars($checkedOK, ENT_QUOTES)); ?> /> OK</label> <label> <input type="radio" name="hogeA" id="hogeA02" class="style02" value="1" <?php echo (htmlspecialchars($checkedNG, ENT_QUOTES)); ?> /> NO</label></td> </tr> <tr> <th>hogeB</th> <td><label> <input type="radio" name="hogeB" id="hogeB01" class="style02" value="0" <?php echo (htmlspecialchars($checkedOK, ENT_QUOTES)); ?> /> OK</label> <label> <input type="radio" name="hogeB" id="hogeB02" class="style02" value="1" <?php echo (htmlspecialchars($checkedNG, ENT_QUOTES)); ?> /> NO</label></td> </tr> <tr> <th>hogeC</th> <td><label> <input type="radio" name="hogeC" id="hogeC01" class="style02" value="0" <?php echo (htmlspecialchars($checkedOK, ENT_QUOTES)); ?> /> OK</label> <label> <input type="radio" name="hogeC" id="hogeC02" class="style02" value="1" <?php echo (htmlspecialchars($checkedNG, ENT_QUOTES)); ?> /> NO</label></td> </tr> </head> </html> とした場合、当然ですがhogeA,hogeB,hogeCには同じ値が入ってしまいます。 hogeB,hogeCも同じ様にSWITCH文を書けば実装できると思うのですが、 foreach等を使って複数のラジオボタンを取得するいい方法があれば、 教えていただきたいです。 説明が不十分で申し訳ありません。もし快くお答えいただける方がいれば大変嬉しく思います。

    • 締切済み
    • PHP
  • 新しいウィンドウで開きたい

    フレームで上下に分けたページで、 <input type="button" value="編集" onclick="parent.parent.location = '../page.php?id=1'"> このボタンを押すと、リンク先が親フレームに展開されますが、親フレームでなく、新しいウィンドウで開きたいと思います。 target="new"を指定しても駄目でした。「parent.parent.」をいじらなければ駄目でしょうか?

  • Formでアンケートページを作成 送信 メールに反映しない。

    こんにちは、DreamWeaver8を使ってホームページの勉強を始めたものです。 練習でFormを使ってアンケートページを作りました。 Form actionでメールアドレスを指定して 送信ボタン(Submit)を押すと、メーラーが起動して上記アドレスが記載されたメールができるのですが、中身が反映していません。(アンケートに書かれた、性別、職業など) どのようにすれば反映されるのでしょうか? 何かお分かりの方がいましたら教えてください。 よろしくお願いします。 <form action="mailto:test@***.**.jp" method="post" enctype="text/plain" name="form1" id="form1"> <table width="920" border="1"> <tr> <td>性別</td> <td><label for="radiobutton">男</label> <input name="radiobutton" type="radio" id="radiobutton" value="man" checked="checked" /> <label for="label2">女</label> <input name="radiobutton" type="radio" value="woman" id="label2" /></td> </tr> 略 <tr> <td colspan="2"><div align="center"> <input type="reset" name="Submit2" value="リセット" /> <input type="submit" name="Submit" value="送信" /> </div></td> </tr> </table> </form>

  • サブウィンドウから親ウィンドウのフォームへの書き込み

    よろしくお願いします。 やりたい事は サブウィンドウを開いて サブウィンドウのテキストボックスに入力した内容を 親ウィンドウのテキストボックスに書き込みたいのです。 以下親ウィンドウ(oya.html) <html> <head> <script type="text/javascript"> <!-- function search(){ window.open( 'sub.html' ,'childwin', "width=350,height=250,location=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes" ); } --> </script> </head> <body> <form name="mainform" method="POST" action="hoge.php"> <TABLE border="1"> <TR> <TD>A:<INPUT type="text" name="A" id="A"></TD> </TR> <TR> <TD>B:<INPUT type="text" name="B" id="B"></TD> </TR> <TR> <TD><input type="button" onclick="search();return false;" value="サブウィンドウ"></TD> </TR> <TR> <TD><center><input type="submit" name="exec" value="確認"></center></TD> </TR> </TABLE> </form> </body> </html> 以下サブウィンドウ(sub.html) <html> <head> <script type="text/javascript"> <!-- --> </script> </head> <body> <form name="subform"> <TABLE border="1"> <TR> <TD>A:<INPUT type="text" name="A" id="A"></TD> </TR> <TR> <TD>B:<INPUT type="text" name="B" id="B"></TD> </TR> <TR> <TD><input type="button" value="入力"></TD> </TR> </TABLE> </form> </body> </html> 以上です。親ウィンドウの中にformが入れ子状態になってしまうため javascriptで対応できないのかと思い質問させて頂きました。 ご教示お願いいたします。

専門家に質問してみよう