2016-08-28 5 views
-1

私のページに複数の<p>があります。クラスやIDはありません。 私が達成しようとしているのは、どれくらいのハッシュタグがあるのか​​をカウントして、<span>の中に結果を表示することです。また、その複数のdiv内のハッシュタグのカウント数

var text = $(this).find("p").text(); 

注:と交換し、あなたは間違った選択を使用している

$(function() { 
    var text = $(this).find("pre").text(); 
    var hashTags = text.split("#").length; 
     var result = hashTags - 1; 

    $('#output').html('words count: ' + result); 
}); 
+1

私は「'this'は' window'、あなたを参照することを考えると、あなたのコードがまったく働いているかが表示されませんHTMLサンプルに存在しない 'pre'要素を探しています...? –

+0

どの要素のIDが 'output'ですか?あなたのHTMLには、そのIDを持っていない3つの異なるスパンがあります。 – Xetnus

答えて

0

あなたは、コードの下に試すことができます。

//loop through every element with class parent 
 
$(".parent").each(function(index) { 
 
    //get number of tags per in <p> 
 
    var tags = $(this).find("p").text().split("#").length - 1; 
 
    //write the number of tags in <span> 
 
    $(this).find("span").text(tags); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="parent"> 
 
    <p> 
 
     #test #test #test 
 
    </p> 
 
    <span></span> 
 
</div> 
 

 
<div class="parent"> 
 
    <p> 
 
     #test #test #test 
 
    </p> 
 
    <span></span> 
 
</div> 
 

 
<div class="parent"> 
 
    <p> 
 
     #test #test #test 
 
    </p> 
 
    <span></span> 
 
</div>

+0

ありがとう、Bla ... –

0

構造例:これを

<div class="parent"> 
    <p> 
     #test #test #test 
    </p> 
    <span></span> 
</div> 

<div class="parent"> 
    <p> 
     #test #test #test 
    </p> 
    <span></span> 
</div> 

<div class="parent"> 
    <p> 
     #test #test #test 
    </p> 
    <span></span> 
</div> 

を働いているが、それはすべてのものを数えています投稿したコードには、output divはありません。 有効なバージョンはpenにチェックしてください。

関連する問題