| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 777 人关注过本帖, 1 人收藏
标题:初学者请教一个简单的问题
只看楼主 加入收藏
BBS宝宝
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-24
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:6 
初学者请教一个简单的问题
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
<style type="text/css">
    *
    {
        font-size:14px;
    }
    table
    {
        width:600px;
        margin:150px auto;
    }
    table,tr,td
    {
        border:1px solid #0066FF;
        text-align:center;
        background:#CCCCCC;
    }
</style>
<script language="javascript">
    function aLL()
    {
        var a = document.getElementsByName("fangjia");
       for(i in a)
        {
            a[i].checked=true;
            
        }
    }
</script>
</head>

<body>
<form name="form01" id="form02" method="post" action="01.html">
    <table>
        <tr>
            <td>&nbsp;</td>
            <td>发件人</td>
            <td>主题</td>
            <td>日期</td>
            <td>文件大小</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="fangjia" id="guoqing" />邮件</td>
            <td>A01</td>
            <td>关于国庆放假通知</td>
            <td>2008.9.10.</td>
            <td>35k</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="fangjia" id="cunjie" />邮件</td>
            <td>A02</td>
            <td>关于春节放假通知</td>
            <td>2009.1.25.</td>
            <td>20k</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="fangjia" id="yuandan" />邮件</td>
            <td>A03</td>
            <td>关于元旦放假通知</td>
            <td>2008.12.5.</td>
            <td>45k</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="fangjia" id="yuanxiao" />邮件</td>
            <td>A04</td>
            <td>关于元宵放假通知</td>
            <td>2009.2.1.</td>
            <td>60k</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="fangjia" id="qingming" />邮件</td>
            <td>A05</td>
            <td>关于清明放假通知</td>
            <td>2009.3.20.</td>
            <td>80k</td>
        </tr>
        <tr>
            <td colspan="5">
                <input type="button" value="全选" name="all" id="all01"  />
               
            </td>
        </tr>
    </table>
</form>
</body>
</html>
我刚刚入门,对于以上代码,制作一个全选的按钮,使用for循环可以实现,但是用到for in就不行了,不太理解,希望大大们帮忙解释一下,先谢谢了~

[ 本帖最后由 BBS宝宝 于 2009-12-24 19:19 编辑 ]
搜索更多相关主题的帖子: html head content PUBLIC border 
2009-12-24 19:02
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:5 
a获取到的是对象集合
2009-12-25 09:16
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:5 
js代码什么问题也没有,就是按钮缺了个onclick="aLL()" 事件  太粗心了。
2009-12-25 15:28
BBS宝宝
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-24
收藏
得分:0 
以下是引用foktime在2009-12-25 15:28:09的发言:

js代码什么问题也没有,就是按钮缺了个onclick="aLL()" 事件  太粗心了。
谢谢foktime版主的回答,后面那个onclick="aLL()"是我往上粘贴的时候忘记粘贴了,因为还有全不选和反向选择,所以删除了一部分代码
但是测试的时候都试过,还是不行,好像是aspic版主说的获得的是个集合的缘故吧~
主要我是没明白,既然这个集合可以通过a[i]的方式提取,为什么就是不能使用for in循环呢?
2009-12-25 19:55
BBS宝宝
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-24
收藏
得分:0 
以下是引用aspic在2009-12-25 09:16:43的发言:

a获取到的是对象集合
谢谢aspic斑竹的回答,小弟刚刚入门,对这点理解不透,为什么可以通过a[i]提取,却不能用for in循环?
2009-12-25 19:58
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:10 
哦 上次只是简单放在FF下试了试。
简单给你讲下吧。
for in是用来遍历对象属性名的。如果你用来遍历一个数组,其实也是将数组当成对象进行遍历。
for in别随便用,这个只用在自己创建的对象中,因为自己创建的对象知道里面是否是干净的
你的var a = document.getElementsByName("fangjia")  a这个对象集合又称BOM,也就是浏览器对象
在不同的浏览器下,a有不同的属性。这个你可以通过alert(i)查看一下属性名。
IE下,属性首先是length,然后是0,1,2,3....所以不行
FF下,属性名依次是0,1,2,3...然后是item等,所以可以选中,只是循环到了a['item'].checked=true这出了问题而已。
所以说for in别随便用,一般的循环遍历方法足够了。
2009-12-26 14:40
BBS宝宝
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-24
收藏
得分:0 
以下是引用foktime在2009-12-26 14:40:01的发言:

哦 上次只是简单放在FF下试了试。
简单给你讲下吧。
for in是用来遍历对象属性名的。如果你用来遍历一个数组,其实也是将数组当成对象进行遍历。
for in别随便用,这个只用在自己创建的对象中,因为自己创建的对象知 ...
好的,明白了,感谢foktime版主~!
2009-12-26 16:12
快速回复:初学者请教一个简单的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028548 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved