1.$("#tt")永远获取的是对象,即便是网页中没有这个元素。如果要想检测网页中是否有这个元素时不能用
应该用
if($("#tt").length>0){...}
或者转化成Dom对象
if($("#tt")[0]){...} |
2. siblings()方法与$("#pre~siblings")选择器的区别;
$("#pre~siblings")例如:$("#pre~div")是选择"#pre"元素后面的所有同一层的div元素。
siblings()方法与前后关系无关,只要是同一层节点就能够匹配。
另外:$("#pre~siblings")与nextAll()方法是等价的:
下面是几个例子:
$("#pre~div").css("background","#cccccc");
//选取#pre后面的所有同一层的div元素。
$("#pre").nextAll("div").css("background","#cccccc");
//同上
$("#pre").siblings();
//选取id为#pre的div元素的所有的同一层的div元素。 |
3.$("#form1 :input")与$("#form1 input")得区别:
4.选择其中的空格是不容忽视的,多一个空格和少一个空格会带来截然不同的后果。
例如:
aa
cc
使用下面的jQuery代码选择器获取他们。
var $t_a = $(".test :hidden"); //带空格 var $t_b = $(".test:hidden"); //不带空格 var $len_a = $t_a.length; var $len_b = $t_b.length; alert("$('.test :hidden')="+$len_a);//输出4 alert("$('.test:hidden')="+$len_b); //输出3
|
结果:一个提示4,一个提示3
原因:var $t_a = $(".test :hidden"); 选取class为test中的隐藏的div元素
var $t_a = $(".test:hidden"); 选取隐藏的class为test的div元素
5.在节点的操作中有删除节点
删除节点的方法有两种:remove()和empty();
两种方法的区别是:remove()是删除节点。而empty并不是真正的删除节点而是清空节点。
6.包裹节点:
包裹节点的方法有三种:wrap(),wrapAll(),wrapInner();
这3中包裹方法的区别是:
wrap()是将所有的元素单独进行包裹。
wrapAll()是将所有的元素用一个元素单独进行包裹。
warpInner()是将每一个匹配的节点的子内容(包括文本节点),用其他机构化标记包裹起来。
下面举几个例子,就明白了:
这是原文本 //html代码
这是原文本 //html代码 |
使用$("strong").wrap("");运行结果
使用$("strong").warpAll("");运行结果是:
使用$("strong").wrapInner("");运行结果是:
7.属性操作:
用attr()方法来获取和设置元素的属性。用removeAttr()方法来删除元素属性。
需要注意的是添加一个属性和添加多个属性的语法不同;
添加一个属性:$("#nae").attr("title","is title");
添加多个属性:$("#nea").attr({"title":"is title","color":"red","name":"test"});
不断更新中。。。(如果有意见和建议请留言)
阅读(692) | 评论(0) | 转发(1) |