日期:2014-05-16  浏览次数:20344 次

一段js代码,请指教!

var param = {};
$("#obj").find('select,input,textarea').each(function(i,item){
if(item.id){
if($(item).val() ==  null){param[item.id] = "";}
else{$(item).val($(item).val().trim());param[item.id] = $(item).val();}
        }
}


三个问题,请帮忙解释下,不胜感激。
1.var param = {};  定义了什么?
2.item.id  指的是什么?
3.param[item.id]  指的是什么?

------解决方案--------------------
这段代码的作用是 把对应的select input textarea 的value和id 取出来 保存在一个对象里面 结果是一个key:value的形式 id是key value是value如:
<input id="first" value="hello" />
<select id="two"><option value="world"></option></select>
{'first': 'hello', 'two': 'world'}

param 就用来存储的对象
item.id就循环的当前对象的id属性
param[item.id] 这个就不用说了吧 object[key] = value
------解决方案--------------------
<div id=obj><input id="first" value="hello" />
<select id="two"><option value="world"></option></select></div>



var param = {};
$("#obj").find('select,input,textarea').each(function(i,item){//i代表的是第几个,item代表的是对象
    if(item.id){ //判断item对象有没有id属性
        if($(item).val() ==  null){param[item.id] = "";} //判断item这个的至是否为空
        else{$(item).val($(item).val().trim());//去掉 item两边的空格并重新复制

param[item.id] = $(item).val();}//为param添加元素,first,值位hello
        }
}

输出结果和上面一样