【jQuery】$("#ID div").each(function(){ 如何只遍历子元素而非全部元素?
<div id="ID">
<div id="1">内容1</div>
<div id="2">
<div id="2_1">内容2.1</div>
<div id="2_1">内容2.1</div>
</div>
<div id="3">内容3</div>
</div>
$("#ID div").each(function(){
这样写是遍历ID下所有的div。
如何才能只遍历#ID的子div,而不是全部div??也就是说如何才能不遍历id="2_1"和id="2_2"这两个div? 展开
遍历子元素:
jquery中遍历子元素,可以利用 $("#ul_tags>dl") 这种需要是直接的子节点,或 $("div#ul_tags:dl") 也是可以的,也可以直接使用$("div#ul_tags a")的形式。
jQuery:
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
语言特点:
1.快速获取文档元素
jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。
2.提供漂亮的页面动态效果
jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。
3.创建AJAX无刷新网页
AJAX是异步的JavaScript和ML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。
4.提供对JavaScript语言的增强
jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等操作。
5.增强的事件处理
jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太事件处理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。
6.更改网页内容
jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页图像,jQuery简化了原本使用JavaScript代码需要处理的方式。
看来楼主要好好区分一下$("#ID>div")和$("#ID div")的区别了
$("#ID div")在给定的祖先元素下匹配所有的后代元素
$("#ID>div")在给定的父元素下匹配所有的子元素
可以写个输出,看一下遍历的次数;
var i=1;
$("#ID div").each(function(){
alert(i++);
});
$("#ID div").each//会遍历5次,
$("#ID>div").each//会遍历3次。
ps,楼上的$("#ID").children("div").each(function(){})这个也行
你好!
可以通过选择器来进行子元素或包含元素的限定!
要仔细看jquery的API。
$("#ID >div").each(function(){
alert($(this).attr("id")); //打印子div的ID
});
方法就是$(selector).find(selector).each(function(){
})