空格:$('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值格式写法一样)