2016-08-04 1 views
0

divのテキストをそのクラスにコピーしたいと思います。私は以下のコードを持っているが、それはすべての兄弟divからのテキストをコピーしますが、私は現在のdivのテキストだけをそのクラスにします。divクラスをそのテキストと一致するように設定する

以下のコードのように、私は、以下のコードの両方のdivのクラスとして「私はアレックスですよ、あなたは何ですか?」とコピーします。最初のdivは「私はアレックス」クラスだけで、同様に次のクラスはあなたはどうですか?

<div class="someText">I am alex</div> 
<div class="someText">How are you</div> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js" type="text/javascript"></script> 
<script> 
    var classes = $(".someText").text().replace(/[, -- .]/g," "); 
    $(".someText").addClass(classes); 
</script> 

答えて

2

は、それは非常に奇妙な要件ですが、あなたはこのように、addClass()に関数を渡すことでそれを達成することができます:あなたは、各div要素をループする必要があるだろう

$('.someText').addClass(function() { 
 
    return $(this).text(); 
 
});
.am { 
 
    color: blue; 
 
} 
 
.are { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="someText">I am alex</div> 
 
<div class="someText">How are you</div>

+0

おかげで仲間!あなたはまたどのように私は "と置き換えることができますか教えてください、"と "と同じスペースにはないと"テキストに。 実際に私はこの機能に後援してくれます... http://codepen.io/desandro/pen/pJPwpy –

+0

'$(this).text()。replace( '、'、 ' ').replace(' and '、' '); '。いいえ、問題なく、 –

+0

をサポートしていません。文字列内のどこからでもn、dを置き換えます。 –

0

。あなたが望んで

$(function() { 
 
    $('div.someText').each(function() { 
 
    var classes = $(this).text().replace(/[, -- .]/g, " "); 
 
    $(this).addClass(classes); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="someText">I am alex</div> 
 
<div class="someText">How are you</div>

+0

ありがとうございます。同じ方法で、データフィルタ= "。値"を設定する方法はありますか? –

0

これ?

var divs = $(".someText"); 
 
for (var i = 0; i < divs.length; i++) { 
 
    $(divs[i]).addClass($(divs[i]).text().replace(/[, -- .]/g," ")); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="someText">I am alex</div> 
 
<div class="someText">How are you</div>

関連する問題