空格:$('parent childchild')表示获取parent下的所有的childchild节点,所有的子孙。
大于号:$('parent > child')表示获取parent下的所有child的儿子,第一代。
加号:$('pre + nextbrother')表示获得pre节点的下一个兄弟节点,相当于next()方法
波浪号:$('pre ~ brother')表示获取pre节点的后面的所有兄弟节点,相当于nextAll()方法。
现在有一个页面,里面HTML代码为;
<div >
<p class="rain">测试1</p>
</div>
<div class="rain">
<p>测试2</p>
</div>
①如果我们使用find()方法:
var result = $("div").find(".rain");
alert(result.html() ) ;
结果:测试1
②如果使用filter()方法:
var result = $("div").filter(".rain");
alert(result .html() );
结果:<p>测试2</p>
find()会在div元素内寻找class为rain 的元素,是对它的子集操作
filter()则是筛选div的class为rain的元素,是对它自身集合元素筛选
.children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈)。参数可选,添加参数表示通过选择器进行过滤,对元素进行筛选。
.find(selector)方法是返回匹配元素集合中每个元素的后代。参数是必选的,可以为选择器、jquery对象可元素来对元素进行筛选。
.find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级。这里的children,我理解为儿子,只在儿子这一级遍历。看下例子:
$('#test').css('display', '');
可以用class去设置,然后removeClass(),比如说
$("#test").attr("style",{"display":"none"});
如果完全不要就可以使用
$("#test").removeAttr("style");
jquery同时删除元素标签的多个属性,必须使用1.7或以上的版本才能实现,两个要删除的属性中间必须用空格隔开(同removeClass()删除多个class值格式写法一样)