2017-10-10 2 views
1

ボタンをクリックするたびにボタンの色を変更しようとしています。私のコードでは、linkNumberは値を取得します。私はそれに色を付けたい。私のやり方はうまくいきません。私は値を確認し、それが働いていることを確認するために警告をテストしました。jqueryの変数にスタイルを与えるにはどうすればいいですか?

var linkNumber = $(this).text(); 
       $(linkNumber).css("color", "yellow"); 
       alert(linkNumber); 
+0

'$(この)は.text();' $(これは) 'ボタンを表す場合、'だけが戻っていますあなたが選択したタグの内側にあるものは何でもテキスト、 '削除.text() '部分で' $(linkNumber).css'からjQueryタグを削除し、それが動作するかどうか確認してください – Lixus

答えて

2

テキスト自体に色を設定しようとしているようです。テキストには色を付けることはできません。 コンテナ(タグ)はcssを持つことができます。だから、ちょうどコンテナにCSSの色を設定します。

$(this).css('color', 'yellow'); 
+0

そうです。しかし、それはすべての値を色づけします。選択したものだけをどのように色付けしますか? – ilovejava

+1

@ilovejava '$(this)'は複数の要素を返すべきではありません。どうやってそれを呼びますか?すべてのコードを質問に入れられますか?ベスト[mcve] –

0

はここで色を変更するいくつかのボタンの実際の例です:最初のクリックで

var colors = ["yellow", "red", "blue"]; 
 

 
$(document).ready(function() { 
 
    $("button").click(function() { 
 
    var currentIndex = Number($(this).data("ci")) || 0; 
 
    var nextIndex = (currentIndex + 1) % colors.length; 
 
    $(this).data("ci", nextIndex).css("color", colors[nextIndex]); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button>Button 1</button> 
 
<button>Button 2</button> 
 
<button>Button 3</button>

を、ボタンが現在colors[0]を有するものとします。配列インデックスがインクリメントされてボタンに格納され、色が割り当てられます。

+0

よろしいですか。もし私がただ一つの色を欲しければどうでしょうか?クリックすると色が変わります。たとえば、3つのボタンがあるとします。ボタン1をクリックすると、赤色になり、他の2つは同じになります。ボタン2をクリックすると、赤色になり、残りは同じままになります。 – ilovejava

0

この例では、ボタンをクリックすると、使用するボタンの内側のテキストの色を変更する場合、ボタンの背景色が変更されます色:シアン;クリック要素

012用のシアンプロパティ

CSS

.clickme{ 
background-color:cyan; 
color:White; 
} 

HTML

<button class="clickme">button1</button> 
<button class="clickme">button2</button> 
<button class="clickme">button3</button> 

jQueryの機能:背景色のinsted

Here is the Working fiddle

0

あなたはまた、私は、最近のjQueryを使用しないことをアドバイスでしょうthis.style.color = 'yellow';

に直接スタイルを追加することができます。

Array.from(document.querySelectorAll('button')) 
 
    .forEach(button => (button.addEventListener('click', (e) => { 
 
    e.target.style.color = 'red'; 
 
    })));
<button>button1</button> 
 
<button>button2</button>

関連する問題