2016-08-03 9 views
0

jqueryでのトラバースにはあまり効果がありません。ここに私のマークアップは次のとおりです。私は何をしたいかJquery前の兄弟の3番目の子のタグを対象にします。

<div class="row planarea"> 

    <div class="col-md-6"> 
    <h1>Agera Fixed Advantage 12</h1> 
    Fixed Price - 12 Months<br> 
    Utility: Con Edison 
    </div> 

    <div class="col-md-3"> 
    <span class="price">$0.0799</span> <span class="killowats">/ kWh</span> 
    </div> 

    <div class="col-md-3"> 
    <a class="nolink showmore" data-toggle="collapse" data-target="#24moscollapse" aria-expanded="false" aria-controls="24moscollapse"> 
     <div class="selectdetails"> 
     Details <i class="fa fa-chevron-circle-down" aria-hidden="true"></i> 
     </div> 
    </a> 

    <label > 
     <input type='radio' name="prefs" class="hidecheck" value="mail"> 
     <span></span> 
    </label> 

    </div> 


</div><!--row--> 

<div class="row collapse detailsrow" id="24moscollapse"> 
    <div class="col-xs-12 plandetailsbox"> 
    stuff 
    </div> 
</div> 

は、これに似たものである:

$('.detailsrow').on('show.bs.collapse', function() { 
    $(this).prev().closest().("a.showmore").html('<div  class="selectdetails">Details <i class="fa fa-chevron-circle-up" aria- hidden="true"></i></div>'); 
}) 

私はそのタグをターゲットにする方法を見つけ出すように見えることはできません、それは一種の混乱になっています。この情報の繰り返し行ごとに前の兄弟の3番目の子供のタグであると信じているものをターゲットにする必要があります。どんな助けもありがとう。

+0

( '.closestは)'までナビゲートし、構文は、括弧内のセレクタを持つことです。私はあなたが '.find(" selector ")'をしたいと思う。 – dlsso

+0

これは私が必要なものです。今の魅力のように動作します:) –

+1

あなたの問題を解決した場合は、Mojtabaの答えをマークすることを忘れないでください。 – dlsso

答えて

1

closest()は最初の親を見つけます。そしてnearest(セレクタ)は、最初にセレクタにマッチした親を見つけます。

一方、あなたは子供を探しています。したがって、find(selector)を使用することができます。

変更この:これに

$(this).prev().closest().("a.showmore") 

$(this).prev().find("a.showmore") 
+0

私はとにかにこれが正しい+1を投稿するまで、答えはありませんでした。ハッピーコーディング。 :)。 OPが理解できるように少し説明することができれば素晴らしいことでしょう。鉱山の削除 – bipen

+0

@bipen、問題ありません。私は答えを更新しました。追加したい場合は、私の答えを編集してください – Mojtaba

関連する問題