2011-07-01 1 views
1

を変更しかし、私はjQueryで直接CSSを変更する方法を理解できませんでした。、私はその要素にあなたがCSSに変更することができる新しいクラスを与え、要素の最初の単語を取ると、その周りにスパンを追加する方法の例をたくさん見てきた要素の最初の単語を選択し、CSS

私は今、スパンことを行うために、このコードを使用しています:

$("h1").html(function(i, text){ 
    return text.replace(/\w+\s/, function(match){ 
    return '<span class="first_word"> + match + '</span>; 
}); }); 

私はタイトルの最初の単語新しい色とフォントファミリを作成しようとしています。それは私のh1のために働くが、私はウィジェットのタイトルh3を追加したときに追加されたスパンをプレーンテキストで表示する。だから私はスパンを追加するのではなく最初の単語のCSSを変更したい。 (私も何を「/ \ + \ S/W」ことを説明するようにやっていることは:)おまけだろう見当がつかない)

あなたの賢明なものをありがとうございました!

+0

は、すべてのあなたの助けをいただき、ありがとうございます。それは私が探しているものを正確に行うことができないようですが、あなたの答えは役に立ちました! – Jarrod

答えて

3

第1文字の第1行疑似要素がありますが、最初の単語はありません。あなたはスパンが必要です。

+0

変数に保持されている文字列にCSSプロパティを変更することはできないのですか?クラスやIDのみ? – Jarrod

+0

右。任意の文字列セグメントにはCSSセレクタはありません。 –

0

.cssメソッドを使用できます。 cf. http://api.jquery.com/css/

あなたは

$(".first_word").css('color', 'red'); 

またはそのような何かをしたいことがあります。

また、/ \ w + \ s /は単語に空白が続く正規表現です。

+3

あなたはどういう意味ですか:$( "。first_word").css( 'color'、 'red'); –

+0

'.css()'はOPが求めているように聞こえますが、セレクタは@Steveのように変更する必要があります。 – Brent

+0

確かに私はやった:) –

2

2つの質問があります。

どのように私はそれをH1とH3と連携し、2番目の質問は、+ \ S/W正規表現/ \程度であることを確認するために上記のコードを変更することができます。

1)あなたはjQueryの複数のセレクタを使用することができます。

$("h1, h3").html(function(i, text){ 
    return text.replace(/\w+\s/, function(match){ 
    return '<span class="first_word"> + match + '</span>; 
}); }); 

よりドキュメントについて、あなたはJQuery Documentation for multiselectorを見ることができます。

2)/ \ w + \ s /は正規表現です。それは3つの部分の表現です。最初のものは任意の "単語"文字を表す\ wです。これは、[a-zA-Z0-9_]のショートカットです。 2番目は+です。複数の[a-zA-Z0-9_]を持つことができます。これらの文字をグループ化して単語を作成し、最後の部分はスペースが現れるまで単語にマッチすると言う\ sです。このRegex DocumentationにRegex Word Boundaryに関する追加情報を得ることができます。最初の単語の変更については

+0

それは2番目の質問を非常にうまく説明します、ありがとう!私はスパンを追加するつもりはない。私はスパンを追加したりクラスを与えたりせずにCSSの変更を「一致」に割り当てることを望んでいると思います。CSSプロパティを変数に割り当てることはできません。クラスやIDのみを変更しますか? – Jarrod

2

.....

$('h1').each(function() { 
var jqt = $(this); 
var txt = jqt.text(); 
jqt.html('<span style="font-size:200%">'+txt.substring(0,(txt.indexOf(" ")))+'</span>'+ txt.substring((txt.indexOf(" ")))); 
});