在HMTL中我是从外部链入一个CSS文件,文件里有一个.tabLabel的类,然后在HTML里有一个表格,表格的样式是.checkOut类,然后我希望表格中的所有的td的样式都使用tabLabel。代码如下
$(document).ready(function(){
$('checkOut td').addClass('tabLabel');
});
然后运行后竟没有反应,就是说td根本没有把tabLabel做为样式,我目前只能用JQuery的css方法来为td添加样式,不明白是css方法能正常运行,为什么addClass方法就不行了?
$(document).ready(function(){
$('checkOut td').addClass('tabLabel');
});
然后运行后竟没有反应,就是说td根本没有把tabLabel做为样式,我目前只能用JQuery的css方法来为td添加样式,不明白是css方法能正常运行,为什么addClass方法就不行了?
比如 <td class="checkOut"> 使用了一个样式类
但 <td class="checkOut tabLabel"> 却使用了两个样, 至于哪一个的优先级别高,那就不太清楚了..addClass() 顾名思义,是添加样式,而不是改变原有的样式
我想,JQ中是不是存在一个这样的方法呢 .setClass()
建议翻手册找找
$(document).ready(function(){
$('.checkOut td').addClass('tabLabel');
});
还有就是可以去firefox中查一下,样式有没有添加进去
addClass 为增加样式,即
若原来样式为class="a b c",
调用addClass("d")后,样式变为了
class="a b c d"
d增加在最后。而按样式的解析原则:a,b,c,d样式取并集(共存),若有冲突,取最后的。
如:
.a{
font-size:15px;
color:red;
}
.b{
color:blue;
}那最后的样式就是
{
font-size:15px;
color:blue;
}
而a的红色字体样式被b的蓝色字体样式覆盖了
再addclass就不会生效
所以这样 attr("class","myclass")
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link href="css/checkOut.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
//$('.checkOut td').css({background:"#ffc"});
$('.checkOut td').addClass("tabLabel");
});
</script>
<title>无标题文档</title></head><body><table width="200" border="1" class="checkOut">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></body>
</html>@CHARSET "UTF-8";
.checkOut {
margin:0 auto;
width:700px;
font-size:12px;
text-align:center;
line-height:20px;
border:1px solid #ccc;
background-color: #CCCCCC;
}
.tabLable {
width:200px;
background:#FFFFFF;
}
我是不了解JQ,究竟$('checkOut td')得到的列表是否该循环, 1楼说的值得考虑.
最后, 我前面分析的是正确的, .addClass() 只是多添加一个,并不是覆盖.
建议先使用 .removeClass(); 移除原有样式后再添加新样式
width:200px;
background:#FFFFFF;
}
你的样式类名写错了
tabLabel