2012-03-01 13 views
0

次のコードのスニペットでは、色をトグルするためにトップボックスをクリックしますが、jQueryはオブジェクトを適切に参照していません。どんな助けでも大歓迎です。このボックスには、id = 'tst'のテーブルが付いています。ボックス自体はtdセルで、idセレクタ 'tst'の型セレクタです(cssで定義されています)。 jQueryは何とかオブジェクトを参照していません。以下のコードを参照してください。下のボックスには、ちょうど参考のために...jqueryのcss '型セレクタの問題を参照してください

<html><head> 

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#tst td").click(function(){ 
$(this).toggleClass('green'); 
}); 
}); 
</script> 

<style type="text/css"> 
table#tst {border:solid 1px;} 
#tst td 
{background-color: red;} 

.green {background-color:green;} 
</style> 

</head> 

<body> 
<p>Click the top box to toggle color between red and green.<br> Bottom box is for reference.</p> 
<table id="tst"><tr><td width=50 height=50></td></tr></table> 
<br> 
<table border=1><tr><td width=50 height=50></td></tr></table> 

</body> 
</html> 

答えて

0

#tsd td.greenより具体的なセレクタです。
したがって、​​クラスを追加しても実際に色は変更されません。

+0

いいえ、あなたは 'td.green {background-color:green; } ' – elclanrs

+0

@elclanrs:それは役に立たないでしょう。 IDはまだより具体的です。 – SLaks

+0

あなたはそうです。 '!important'がそのトリックを行います。しかし、よく、最もエレガントなソリューションではありません。 – elclanrs

関連する問題