| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1239 人关注过本帖
标题:菜鸟请教一个关于getElementById()的问题?请各位高手帮帮忙!
只看楼主 加入收藏
bocai_aixg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-4-24
收藏
得分:0 
那个html页也不好贴的,和我的源代码没很大的区别,至于id定义的话那部份已经成型了,而且也涉及到比较多地方调用,再说还不是我写的,所以那部分可能是不能更改啦!只能改变脚本来控制了,我同事的意思是要我用jQuery的一些方法和属性来实现,但是我对脚本这方面了解的不多,所以只有先在网上看些案例吧!所以请高手门帮我提提建议吧!
2011-04-27 20:51
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:10 
既然如此就没有必要再去考虑通过id获取dom元素了

直接这样:
var checkedBoxes = [];
checkedList = $("div.dataGrid").find("input:checked");
checkedBoxes = checkedList;
将dom集合赋给checkedBoxes

操作的时候这样:
checkedBoxes.each(function(){
                // 这里放你要做的事情 ,如:
                //if (this != null)
                //    this.setAttribute("checked", "checked");
            })
省去你中间先获取id再反过来通过id重新获取dom的步骤


2011-04-28 08:47
bocai_aixg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-4-24
收藏
得分:0 
大哥,用了你的代码不过好像获取不到对象,不知是不是脚本和页面并不在同一个页面使得this没有用呢?
2011-04-28 11:24
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:10 
用each循环遍历,this相当于checkedBoxes[i] 写法没有问题。
你用法的问题。
思路帮你理清了,代码怎么写自己慢慢调
因为你无法提供一个可测试页面,所以问题究竟出现在哪个环节上,只有你和上帝知道。

脚本代码是在服务器端向客户端输出html之后执行的,跟b.ascx之类的用户控件无关。不管你用了几个用户控件拼成的一个页,服务器端处理后输出的就是一个页。
至于this的用法,和这个更无关


[ 本帖最后由 foktime 于 2011-4-28 13:13 编辑 ]
2011-04-28 13:09
bocai_aixg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-4-24
收藏
得分:0 
   function saveCheckedBoxes() {
            // find all checked boxes
            checkedList = $("div.dataGrid").find("input:checked");
            for (var i = 0; i < checkedList.length; i++) {
                // store in list
                checkedBoxes[i] = checkedList[i].id;
            }
        }

        // Re-check all the checkboxes (since expanding/collapsing clears them out)
        function restoreCheckedBoxes() {
            for (var i = 0; i < checkedBoxes.length; i++) {
                // for some reason jQuery doesn't work here
                var checkBox = $("[id=" + checkedBoxes[i] + "]")
                if (checkBox != null)
                    $("[id=" + checkedBoxes[i] + "]").attr("checked", true);
            }

            checkedBoxes = [];  // clear out the list
        }
最后是这样实现的,谢谢你的关注和指导!
2011-04-28 18:48
快速回复:菜鸟请教一个关于getElementById()的问题?请各位高手帮帮忙!
数据加载中...
 
   



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

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