深刻理解jquery对象和普通对象的区别

来源:互联网 发布:php入门到精通电子书 编辑:程序博客网 时间:2024/04/18 22:31

http://m.cnblogs.com/38374/1599338.html

$("")是一个jquery对象,而不是一个dom element

 
value是dom element的属性
 
jquery与之对应的是val
 
val() :获得第一个匹配元素的当前值。 
 
val(val):设置每一个匹配元素的值。

所以代码这样写

取值:  val = $("#id")[0].value;赋值:  $("#id")[0].value =  "new value";或者    $("#id").val("new value");

或者这样也可以:val = $("#id").attr("value");


jQuery对象与dom对象的转换 http://www.ccvita.com/192.html
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。

如:

$(document.getElementById("msg"))

则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:

$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]

这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的:

    $("#msg").html();    $("#msg")[0].innerHTML;    $("#msg").eq(0)[0].innerHTML;    $("#msg").get(0).innerHTML;


附:jquery 1.3.2对基本表单元素的取值方法

/*获得TEXT.AREATEXT的值*/var textval = $("#text_id").attr("value");//或者var textval = $("#text_id").val(); /*获取单选按钮的值*/var valradio = $("input[type=radio]:checked").val(); /*获取一组名为(items)的radio被选中项的值*/var item = $('input[name=items]:checked').val(); /*获取复选框的值*/var checkboxval = $("#checkbox_id").attr("value"); /*获取下拉列表的值*/var selectval = $('#select_id').val(); /*文本框,文本区域*/$("#text_id").attr("value",");//清空内容$("#text_id").attr("value",'test');//填充内容 /*多选框checkbox*/$("#chk_id").attr("checked",");//使其未勾选$("#chk_id").attr("checked",true);//勾选if($("#chk_id").attr('checked')==true) //判断是否已经选中 /*单选组radio*/$("input[type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项 /*下拉框select*/$("#select_id").attr("value",'test');//设置value=test的项目为当前选中项$("testtest2").appendTo("#select_id")//添加下拉框的option$("#select_id").empty();//清空下拉框 /*获取一组名为(items)的radio被选中项的值*/var item = $('input[name=items]:checked').val(); //若未被选中 则val() = undefined /*获取select被选中项的文本*/var item = $("select[name=items] option:selected").text(); /*select下拉框的第二个元素为当前选中值*/$('#select_id')[0].selectedIndex = 1; /*radio单选组的第二个元素为当前选中值*/$('input[name=items]').get(1).checked = true; /*重置表单*/$("form").each(function(){.reset();});



原创粉丝点击