您的位置:首页 > Web前端 > JQuery

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

2011-10-18 16:17 211 查看
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();
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: