想给table每列分别添加一个样式,可是addClass没反应

来源:3-4 jQuery的属性与样式之增加样式.addClass()

陈小晓

2016-08-12 09:23

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
<link href="css/myStyle.css"/>
<style>
.position
{
 width:87px;
 height:37px;
 background:red;
 }
.AQI
{
 width:30px;
 }
.category
{
 width:30px;
 }
.PP
{
 width:73px;
 background:#0C3;
 }
</style>
</head>

<body>
<table border="1" cellspacing="0">
    <tr>
        <td>sfe</td><td>fe</td><td>gfefe</td><td>gfefe</td>
    </tr>
    <tr>
        <td>sfe</td><td>fe</td><td>gfefe</td><td>gfefe</td>
    </tr>
    <tr>
        <td>sfe</td><td>fe</td><td>gfefe</td><td>gfefe</td>
    </tr>
</table>
<script type="text/javascript"> 

$(document).ready(function() {
    var len = $('td').length;
    for(var i=0;i<len;i+=4)
        $('td:eq(i)').addClass('position');
    for(var j=1;j<len;j+=4)
        $('td:eq(j)').addClass('AQI');     
    for(var k=2;k<len;k+=4)
        $('td:eq(k)').addClass('category');
    for(var l=3;l<len;l+=4)
        $('td:eq(l)').addClass('PP');
});
 

  
</script>
</body>

</html>

 


 

写回答 关注

1回答

  • 妮妮伊一
    2016-08-12 15:36:55
    已采纳

     $('td:eq(i)')这个地方不可以传入i变量,因为$(selector)是在当前的HTML Document中通过selector查找DOM元素,传入的i并不能通过for循环将值传入,你可以通过传入常量试一下就明白了

    陈小晓

    知道怎么做了,变成eq('+i+')就行了

    2016-08-12 17:16:45

    共 2 条回复 >

jQuery基础 (一)—样式篇

jQuery初入开启样式修炼,体验万能的jQuery样式集搭建网站布局

217509 学习 · 1218 问题

查看课程

相似问题