2016-06-12 9 views
0

jqueryを使用してテーブル内の複数のtd要素の背景色を変更できません。jqueryを使用して複数のtd要素の背景色を変更する方法

HTMLコード:

<td id="trueValue">/com/website/seo/</td> 

<td id="trueValue">/com/website/seo/</td> 

<td id="falseValue">/com/website/seo/</td> 

<td id="falseValue">/com/website/seo/</td> 

のjQueryコード:

$("td").each(function() { 
var i = $(this).attr("id"); 
if (i == "trueValue") { 
    $(i).css("background-color", "green"); 
    } 
}); 

上記jqueryのは、何もしません。誰かが私のコードを修正してもらえますか?

多くの方々のおかげです。

+0

なぜあなたは同じIDSを複数回使用していますか?その間違った... –

+0

ありがとう。 RoryやUsmanのHTMLを修正する方法はありますか?申し訳ありませんが、私はWeb開発の初心者です。ですから、私がどのように進めることができるかお教えください。ありがとう – harshavmb

+0

@harshavmb私はあなたのために答えを追加 –

答えて

4

複数の要素に同じidを割り当てることはできません。この例のHTMLは無効です。要素をグループ化する場合は、クラスを使用します。次に、あなただけのクラスで要素を選択し、それらにスタイルを適用し、このようにすることができます

$('.truevalue').addClass('foo');
.foo { 
 
    background-color: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td class="truevalue">/com/website/seo/</td> 
 
    <td class="truevalue">/com/website/seo/</td> 
 
    <td class="falsevalue">/com/website/seo/</td> 
 
    <td class="falsevalue">/com/website/seo/</td> 
 
    </tr> 
 
</table>

+0

多くのありがとうロリー、それは魅力のように働いた。驚くばかり! – harshavmb

1

あなたは、単一のWebページに同じid複数回を持つことはできません。非常に必要な場合は、html5 data属性を使用できます。

$("td[data-id='trueValue']").addClass("highlight");
.highlight { 
 
    background: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
    <tr> 
 
     <td data-id="trueValue">/com/website/seo/</td> 
 

 
     <td data-id="trueValue">/com/website/seo/</td> 
 

 
     <td data-id="falseValue">/com/website/seo/</td> 
 

 
     <td data-id="falseValue">/com/website/seo/</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

すばらしいおかげでUsman。 – harshavmb

+0

歓迎です) –

0

あなたは、テーブルの行とその記述を作成するには、表を使用する必要があります。

HTML

<table> 
    <tr> 
    <td id="falseValue"> XYZ </td> 
    <td id="trueValue"> ABC </td> 
    </tr> 
</table> 

jQueryの

$("td").each(function() { 
    var i = $(this).attr("id"); 
    if (i === 'trueValue') { 
    $(this).css({ 
     'backgroundColor': 'green', 
     'color': 'white' 
    }); 
    } 

}); 

ワーキングフィドル:https://jsfiddle.net/rittamdebnath/p3fe1hv5/

+0

リッタムありがとう – harshavmb

関連する問題