2017-05-11 7 views
0

クリックした要素の子ノードの値を取得するためにJQUERYを使用しようとしています。私はこれを研究しており、うまくいくと思われる答えを見つけていません。私は、「これは私が望むものである」と言うテキストを取得しようとしていますjqueryの子要素の内部HTMLを選択

私のHTMLは、私のjQueryの

$("div").click(function(){ 

var a = jQuery(this).children('.g > a').html; 
     console.log(a); 
}); 

次のようになり

<div class="a"> 
    <article class="b"> 
     <section class="c"> 
      <div class="d"> 
       <a class="e" href="https://"><img src="https:/"></a> 
        <div class="f"><div class="g"> 
         <a href="https:" >this is what i want</a> 

次のようになり、私もしました私はあなたがCLIされ divとより具体的にする必要がありだと思う

$("div").click(function(){ 

var a = jQuery(this).find('.g > a').html; 
     console.log(a); 
}); 
+0

文句を言わない仕事A' .F> 'ので.f''の直接の子である何 'A'はありません。あなたは '.g> a'または単に' .f a'を実行することができます – Pevara

答えて

1

>セレクタは、直接の子ではないとされ、唯一の直接の子供たちのためです。 2番目の例では.html()がありません。

$("div.a").click(function(){ 
 
    var a = jQuery(this).find('.f a').html(); 
 
    console.log(a); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="a"> 
 
    <article class="b"> 
 
     <section class="c"> 
 
      <div class="d"> 
 
       <a class="e" href="https://"><img src="https:/"></a> 
 
        <div class="f"><div class="g"> 
 
         <a href="https:" >this is what i want</a>

+0

を見ると、コードを実行すると4つの値が返されます: 'undefined、undefined、"これは私が欲しいものです "、"これは私が欲しいものです "どうして? 4つの 'div'sがあり、クリックイベントは全てに添付されているので –

+0

ありがとう。私は実際にそれが.g> aだった誤植を作った。私はあなたの提案を試みたが、それは私の実際のコードでは動作しませんが、私の例のHTMLで動作します。私はデバッグに戻る必要があります。ありがとうございました。 – user2941841

+0

@JosanIrachetaそれを更新しました – Neil

0

を試してみましたclassNameで呼び出してckedします。

$(".a").click(function(e){ 
 
    var a = $(this).find(".f").children("a"); 
 
    console.log($(a).text()); 
 
});
.a{ 
 
    border:1px solid black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="a"> 
 
    <article class="b"> 
 
     <section class="c"> 
 
      <div class="d"> 
 
       <a class="e" href="https://"><img src="https:/"></a> 
 
       <div class="f"><div class="g"></div> 
 
         <a href="https:" >this is what i want</a> 
 
         </div> 
 
       </div> 
 
       </section> 
 
       </article> 
 
       </div><!--end a-->

+0

私はそれを試みましたが、それはまだ動作しません。そのページには多くのネストされたHTMLがあるので、やや難しいです。私は、他のテストからこの特定のdivがこれに反映されていると信じています。 – user2941841

+0

@ user2941841それは動作します。私のデモ –