2016-08-24 19 views
0

これは非常に簡単なことですが、私はまだjQueryを初めて使用しています。私は最初の言葉を太字にして、私が必要とするものではない、良い解決策をいくつか見つけました。jQueryを使用してテキストを選択し、最初の単語と太字で区切ってください

最初の単語以外の単語を太字にしたいだけです。これは可能ですか?私は別の最初の単語のためのソリューションが、調整する方法がわからないから例を持って

すなわち

購入商品

購入商品

ことにします。

$('.homepage-boxes .ty-banner__image-wrapper a').find('.ty-btn_ghost').html(function(i, h){ 
    return h.replace(/\w+\s/, function(firstWord){ 
     return '<strong>' + firstWord + '</strong>'; 
    }); 
}); 

私は私が必要なクラスと検索クラスで調整しているが、私は、テキスト<strong>を作りたいが、最初の単語を除きます。

+0

誰もが強引なタグでラップされたと言う前に、CMSからバナータイトルを取得するので、ページロード時にJSと調整する必要があります:) – James

答えて

3

これを行うにはいくつかの方法があります。正規表現で括弧を使用することができますことを

$('.homepage-boxes .ty-banner__image-wrapper a').find('.ty-btn_ghost').html(function(i, h){ 
 
    return h.replace(/ (.*)/, " <strong>$1</strong>"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<!-- html structure improvised to match the selectors from the question's JS --> 
 
<div class="homepage-boxes"> 
 
    <div class="ty-banner__image-wrapper"> 
 
    <a><span class="ty-btn_ghost">Buy This Product</span></a> 
 
    </div> 
 
    <div class="ty-banner__image-wrapper"> 
 
    <a><span class="ty-btn_ghost">Buy The Other Product</span></a> 
 
    </div> 
 
    <div class="ty-banner__image-wrapper"> 
 
    <a><span class="ty-btn_ghost">Buy Some Third Product</span></a> 
 
    </div> 
 
</div>

注:あなたは、サブ一致として文字列の末尾に他のすべての文字が続く最初のスペースに合わせて、/ (.*)/のような正規表現を使用することができます一致するビットを参照するには$1を使用します。したがって、置換を、関数を渡すのではなく、.replace()の2番目の引数の文字列として指定することができます。

+0

絶対的な扱いをしました!ありがとう@nnnnnn本当にあなたの種類! – James

関連する問題