Visual Studio下使用jQuery的10个技巧
广泛流行的jQuery是一个开源的,跨浏览器和兼容CSS 3的JavaScript库,你可以用它简化你的JavaScript编码任务和操作(添加,编辑和删除)HTML内容中的DOM元素,本文介绍10个在Visual Studio下使用jQuery的10个有用的技巧,希望对你有所帮助。
你需要准备些什么
为了在Visual Studio中顺利使用jQuery,你需要安装下面这些软件:
Visual Studio 2008
Visual Studio 2008 SP1
jQuery库
Visual Studio 2008 jQuery插件
或者直接使用Visual Studio 2010,因为它已经内置支持jQuery了,如果你恰好在使用Visual Studio 2010,那么恭喜你,默认已经安装有jQuery库了。
在深入了解使用jQuery操作网页中的DOM元素之前,我们先来看看jQuery的介绍和它的好处。
一些有用的jQuery技巧
jQuery最显著的特点包括支持:
浏览器无关:jQuery支持绝大多数浏览器;
简化的事件处理模型:jQuery支持优秀的,易于使用的,范式化的事件处理模型,大大减少了代码量,jQuery事件处理模型在所有浏览器中都是一致的,事件对象是一个跨浏览器的标准化对象,事件对象总是作为一个参数传递给事件处理程序;
无缝扩展:jQuery通过易于使用的插件API提供了扩展支持,可以无缝扩展jQuery核心库。
下面开始介绍使用jQuery的一些技巧
1、使用jQuery预加载图像
预加载图像被认为是一个最佳实践,因为它提高了网页的渲染速度,下面的代码显示了jQuery预加载图像的代码片段:
- jQuery.preloadImages = function()
- {
- for(var x = 0; x").attr("src", arguments[x]);
- }};
2、使用jQuery禁用上下文菜单
下面的代码举例说明了如何使用jQuery禁用上下文菜单:
- $(document).ready(function(){
- $(document).bind("contextmenu",function(e){
- return false;
- });
- });
3、在jQuery中添加和删除CSS类
在jQuery中添加和删除CSS类非常简单:
- //To add a css class, you can use the following piece of code
- if($(id).hasClass('testClass'))
- {
- $('#div1').addClass('testclass');
- }
- //To remove a css class, you can use the following piece of code
- if($(id).hasClass('testClass'))
- {
- $('#div1').removeClass('testclass');
- }
4、检查某个元素是否可用
你可以使用jQuery检查网页中的某个元素是否存在,下面是一个例子:
- if ($('img').length)
- {
- alert('Image elements available');
- }
- else
- {
- alert('Image elements not available');
- }
5、使用jQuery检查浏览器类型
不同的浏览器执行脚本的方法有点不一样,但你可以使用jQuery轻松识别浏览器的类型,然后执行相应的自定义代码,下面是用jQuery检查浏览器的代码片段:
- if (jQuery.browser.mozilla)
- {
- // Code to execute if browser is Mozilla
- }
- if (jQuery.browser.msie)
- {
- // Code to execute if browser is IE
- }
- if (jQuery.browser.safari)
- {
- // Code to execute if browser is Safari
- }
- if (jQuery.browser.opera)
- {
- // Code to execute if browser is Opera
- }
6、使用jQuery发现隐藏的元素
你可以使用size()检查隐藏的DOM元素,下面是一个例子:
- if( $("div.hidden").size)
- {
- alert('One or more divs are hidden');
- }
你也可以使用length()函数实现相同的结果,其实size()函数也调用的是length()函数,因此length()函数更快。
- if( $("div.hidden").length )
- {
- alert('One or more divs are hidden');
- }
7、在DOM中保存数据
你可以使用Data()函数在DOM元素中保存数据,下面的代码片段显示了如何使用jQuery给一个DOM元素赋值:
- $('#div1').data ('Key', 'Value');
如果要检索保存在DOM元素中的数据,你可以使用下面的代码:
- $('#div1').data ('Key');
8、检索某个元素的父元素
使用jQuery检查某个元素的父元素非常简单,你需要做的就是像下面这样调用closest()函数:
- var id = $("btnHello").closest("div").attr("id");
9、正确使用jQuery中的链表
链表(Chaining)是jQuery中的一个伟大功能,它促使链表中的行为被陆续执行,你可以使用链表方法来用它,下面的代码就是一个例子:
- $('div1').removeClass('color').addClass('no-color');
10、使用jQuery操作选择列表
jQuery让使用选择列表变得更容易,你可以从选择列表中轻松地删除一个列表项,具体方法如下:
- $("#employeeList option[value='9']").remove();
下面的代码举例说明了如何从选择列表中以文本形式检索一个选择项:
- $('#employeeList :selected').text(); 原文出处:http://developer.51cto.com/art/201011/235795.htm
Visual Studio下使用jQuery的10个技巧的更多相关文章
- Cocos开发中Visual Studio下HttpClient开发环境设置
Cocos2d-x 3.x将与网络通信相关的类集成到libNetwork类库工程中,这其中包括了HttpClient类.我们需要在Visual Studio解决方案中添加libNetwork类库工程. ...
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- Visual Studio下SQLite数据库开发环境设置
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...
- Visual Studio下Qt编程中对中文的处理
Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual St ...
- Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建
我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...
- Cocos发育Visual Studio下一个HttpClient开发环境设置
Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...
- Visual Studio 2012设置Jquery/Javascript智能提示
Visual Studio 2012设置Jquery/Javascript智能提示 在Visual Studio 2008 Visual Studio 2010中微软已经开始支持jquery/java ...
- CMake在Visual Studio下保持目录结构
CMake在Visual Studio下保持目录结构 原理 主要通过CMAKE自带函数source_group来设定. 需要把add_executable()函数进行封装,包裹一层source_gro ...
- Visual Studio下运行PowerShell脚本自增小版本号并发布到Nuget服务器上
Visual Studio下运行PowerShell脚本自动更新项目里AssemblyInfo.cs文件的版本(自增小版本号)并发布到Nuget服务器上 附脚本[ update.ps1文件内容]: $ ...
随机推荐
- KnockOut文档--模板绑定
目的 模板绑定使用数据render模板,然后把渲染的结果填充到Dom树中.模板通过重复或嵌套块(通常为您的视图模型数据的函数)用一种简单,方便的方式来建立复杂的UI结构 . 有两种方式使用模板: Na ...
- [每日一题] OCP1z0-047 :2013-07-15 drop column
如下实验: gyj@OCM> Create table emp( 2 Empno number(4) not null, 3 First_name varchar2( ...
- ubuntu安装 cober 笔记
设置原始Ubuntu原始Root密码 安装Mysql 安装Jdk 拷贝Cober到Linux,启动服务(看日志) 设置原始Ubuntu原始Root密码 $ sudo passwd root 修改系统文 ...
- 《Django By Example》第六章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:无他,祝大家年会都中奖!) 第六章 ...
- 使用highcharts显示mongodb中的数据
1.mongodb数据表相关 # 显示数据库 show dbs # 数据库 use ceshi # 显示表 show tables # 创建集合 db.createCollection('infoB' ...
- Unity Get Thread Content Failed
最近在使用Unity做项目时,发现总是莫名的出现“Get Thread Content Failed”的消息弹出,然后Unity就卡死了,这样反反复复,后来查到是因为一些杀毒软件在阻止Unity,尝试 ...
- C#调用百度地图API
1.打开链接http://developer.baidu.com/map/jshome.htm这里有很多DEMO,或者你直接百度搜索"百度地图API",第一个就是.进入后有很多方向 ...
- [HMLY]13.请谨慎使用 @weakify 和 @strongify
前言 相信大部分见过 @weakify 和 @strongify 的开发者都会喜欢上这两个宏.但是很多人只知道它的强大威力,却没有意识到在特定环境下的危险性. 本文将通过代码测试的方式告诉读者,如何正 ...
- [Angular Directive] Assign a Structual Directive a Dynamic Context in Angular 2
Just like passing in an array to *ngFor, you can pass in any value into your structural directive s ...
- 使用ObjectInputStream和ObjectOutputStream注意问题
1.对象序列化,类实现Serializable接口 不需要序列化的属性,使用transient声明 2.使用套接字流在主机之间传递对象注意问题: 学习自:Socket同时使用ObjectInputSt ...