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

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();
});



阅读更多
个人分类: jquery js
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭