怎样区分JQuery对象和Dom对象 常用的写法

时间:2022-03-19 03:01:43

第一步,http://www.k99k.com/jQuery_getting_started.html

第二步,新手先仔细得全部看一遍jQuery的选择器,很重要!!!
(http://shawphy.com/jqueryapi/
这里是最新文档,有离线版下载)
第三步,深刻了解jQuery对象和普通DOM对象的区别。互相转化见Q1

Q1,js的写法:document.getElementById('save').disabled=true;

在jquery中我是这样写的$("#save").disabled = true; 为什么没效果呢

A,这个是典型的问题,其实因为$("#save")出来的其实是jQuery对象,而不是普通DOM对象
这是新手常见的问题。

解决方法有2:
1,用JQ写法,$("#save").attr("disabled","true");

2,转成DOM写法$("#save")[0].disabled=true;

当然,$("#save")[0]也可以写成$("#save").get(0)。他返回的也是DOM元素

$("#save").eq(0)得到的还是jq对象
$(dom对象)就能得到一个jq对象。

Q2,获取选中的checkbox
A:
获取所有选中的checkbox:

$("input:checkbox:checked")
判断是否一组checkbox都选中了:

if($("input:checkbox:checked").length){}
判断某一个checkbox是否被选中

if($("input:checkbox").is(":checked")){}

Q3,我的id里有[]或.之类的符号,怎么办?或者带有命名空间的xml标签带有:怎么办?
A:用\\来转义如<div
id="id[1]"></div>
$("#id\\[1\\]")