网络编程
位置:首页>> 网络编程>> JavaScript>> 使用jQuery简化Ajax开发(5)

使用jQuery简化Ajax开发(5)

 来源:asp之家 发布时间:2010-04-11 21:09:00 

标签:jQuery,Ajax,插件,开发

DOM 脚本和事件处理

或许 jQuery 最擅长的就是简化 DOM 脚本和事件处理。遍历和处理 DOM 非常简单,同时附加、移除和调用事件也十分容易,且不像手动操作那样容易出错。

从本质上说,jQuery 可以使 DOM 脚本中的常用操作变得更加容易。您可以创建元素并且使用 append() 函数把它们与其它的一些元素链接到一起,使用 clone() 复制元素,使用 html() 设置内容,使用 empty() 函数删除内容,使用 remove() 函数删除所有的元素,即便是使用 wrap() 函数,用其他元素将这些元素包装起来。

通过遍历 DOM,一些函数可以用于更改 jQuery 对象本身的内容。可以获得元素所有的 siblings()、parents() 和 children()。还可以选择 next() 和 prev() 兄弟元素。find() 函数或许是功能最强大的函数,它允许使用 jQuery 选择器搜索 jQuery 对象中元素的后代元素。

如果结合使用 end() 函数,那么这些函数将变得更加强大。这个函数的功能类似于 undo 函数,用于返回到调用 find() 或 parents() 函数(或者其它遍历函数)之前的 jQuery 对象。

如果配合方法链接(method chaining)一起使用,这些函数可以使复杂的操作看上去非常简单。清单 7 显示了一个示例,其中包含有一个登录表单并处理了一些与之有关的元素。

清单 7. 轻松地遍历和处理 DOM

$('form#login') 
// hide all the labels inside the form with the 'optional' class 
.find('label.optional').hide().end() 

// add a red border to any password fields in the form 
.find('input:password').css('border', '1px solid red').end() 

// add a submit handler to the form 
.submit(function(){ 
return confirm('Are you sure you want to submit?'); 
});


不管您是否相信,这个示例只是一行满是空白的被链接的代码。首先,选择登录表单。然后,发现其中含有可选标签,隐藏它们,并调用 end() 返回表单。然后,我创建了密码字段,将其边界变为红色,再次调用 end() 返回表单。最后,我在表单中添加了一个提交事件处理程序。其中尤为有趣的就是(除了其简洁性以外),jQuery 完全优化了所有的查询操作,确保将所有内容很好地链接在一起后,不需要对一个元素执行两次查询。

处理常见事件就像调用函数(比方说 click()、submit() 或 mouseover())和为其传递事件处理函数一样简单。此外,还可以使用 bind('eventname', function(){}) 指定自定义的事件处理程序。可以使用 unbind('eventname') 删除某些事件或者使用 unbind() 删除所有的事件。有关这些函数的使用方法的完整列表,请参阅 参考资料 中的 jQuery 应用程序编程接口(Application Program Interface,API)文档。

0
投稿

猜你喜欢

  • 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为
  • 1.INPUT和图片按钮对齐:<form method="post" action="
  •   1 引子 Java,C#等各种高级语句的开发工具琳琅满目,争放异彩。但作为AJAX的主角的JavaScri
  • 下列语句部分是Mssql语句,不可以在access中使用。SQL语句分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECL
  • 此处收集的是一些夺人心魄的创意广告牌,巧妙的构思十分值得大家观瞻.......超人归来 superman returnsNespressos
  • 随着网络的普及,基于网络的应用也越来越多。网络数据库就是其中之一。通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,
  • 这篇文章主要是想说,“引用只能指向具体对象而不能指向引用”//创建变量testArray 并引用数组 ["1&
  • 如何自动反馈电子邮件?很多网站上的电子邮件都是自动回复的,就象163电子邮局提供的邮件自动回复功能一样。这是怎么实现的?我们可以用ASPMa
  • 用IIS调试ASP程序时,有的页面可以显示出错行及出错原因,虽然原因不是很具体但足以引导调试程序,但有些时候就直接出现:HTTP 500 -
  • 从毕业实习算起,从事可用性方面的工作到现在已经5年了。在此记录笔者的一些所见所想,和大家讨论分享一下。用户研究在“以用户为中心”的界面设计方
  • 问题:如何把具有相同字段的记录删除,只留下一条。   例如:表test里有id,name字段,如果有name相同的记录只留下一条,
  • Facebook的网站速度做为最关键的公司任务之一。在2009年,我们成功地实现了Facebook网站速度提升两倍 。而正是我们的工程师团队
  • 在过去的两年里,你能想象的一些很烂的应用设计也入驻了优雅的iPhone。通过它周边的宣传,使得世界各地的设计者们都利用这个新的移动工具来一展
  • 虽然以前我写过IE6、IE7、IE8共存的解决方案,但是看到IETester这个软件以后那些都已经没有意义了(那些办法副作用比较大,而且实现
  • 一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用
  • 我想没多少人敢保证写JavaScript能不用调试,那选择用什么方式调试会比较好呢?告别了我最爱的alert("MM")
  • 导读:这篇论坛文章主要介绍了使用SQL Server升级顾问的具体步骤,详细内容请参考下文。微软提供了SQL Server 2008升级顾问
  • 类型主要针对文本属性进行定义。理解“编辑字体列表”和“行高”。二、CSS规则定义之“背景”·背景有背景颜色和背景图像的选择设置。·利于背景图
  •  ORA-01578:Oracle data block corrupted(file # num,block # num)产生原
  • 高效的css写法中的一条就是使用简写。通过简写可以让你的CSS文件更小,更易读。而了解CSS属性简写也是前端开发工程师的基本功之一。今天我们
手机版 网络编程 asp之家 www.aspxhome.com