Jquery学习
来源:互联网 发布:收费av网站源码 编辑:程序博客网 时间:2024/06/16 15:29
Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
[1]是一个单独的javascript文件,可以保存到本地或者服务器直接引用,也可以从多个公共服务器中选择引用。有Media Temple、Google、Microsoft等多家公司给jQuery提供CDN服务,比较常用的引用地址如下<script type="text/javascript" src="http://ajax.googleapis. com/ajax/libs/jquery/1.8/jquery.min.js"></script>最常使用的jQuery基础方法是.ready()方法$(document).ready(function(){//script goes here});或者其简写$(function(){//script goes here});当dom加载完就可以执行(比window.onload更早)。在同一个页面里可以多次出现.ready()
文档就绪函数
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:
$(document).ready(function(){--- jQuery functions go here ----});
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。
如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:
- 试图隐藏一个不存在的元素
- 获得未完全加载的图像的大小
1、基本选择器
- id 根据元素ID选择
- elementname 根据元素名称选择
- classname 根据元素css类名选择
举例:
<input type="text" id="ID" value="根据ID选择" /><a>根据元素名称选择</a><input type="text" class="classname" value="根据元素css类名选择" />
jQuery("#ID").val();jQuery("a").text();jQuery(".classname").val();
即可分别得到元素的值。以上三种为最常见的选择器,其中ID选择器是效率最高的,在可能的情况下应该尽量使用它。
jQuery 元素选择器
jQuery 使用 CSS 选择器来选取 HTML 元素。
$("p") 选取 <p> 元素。
$("p.intro") 选取所有 class="intro" 的 <p> 元素。
$("p#demo") 选取所有 id="demo" 的 <p> 元素。
jQuery 属性选择器
jQuery 使用 XPath 表达式来选择带有给定属性的元素。
$("[href]") 选取所有带有 href 属性的元素。
$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。
jQuery CSS 选择器
jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。
下面的例子把所有 p 元素的背景颜色更改为红色:
实例
$("p").css("background-color","red");
亲自试一试
更多的选择器实例
如需完整的参考手册,请访问我们的 jQuery 选择器参考手册。
jQuery 事件函数
jQuery 事件处理方法是 jQuery 中的核心函数。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。
通常会把 jQuery 代码放到 <head>部分的事件处理方法中:
实例
<html><head><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){ $("button").click(function(){ $("p").hide(); });
});</script></head><body><h2>This is a heading</h2><p>This is a paragraph.</p><p>This is another paragraph.</p><button>Click me</button></body></html>
亲自试一试
在上面的例子中,当按钮的点击事件被触发时会调用一个函数:
$("button").click(function() {..some code... } )
该方法隐藏所有 <p> 元素:
$("p").hide();
单独文件中的函数
如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。
当我们在教程中演示 jQuery 时,会将函数直接添加到 <head> 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件):
实例
<head><script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="my_jquery_functions.js"></script></head>
jQuery 名称冲突
jQuery 使用 $ 符号作为 jQuery 的简介方式。
某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
jQuery 使用名为 noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。
亲自试一试
结论
由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
- 把所有 jQuery 代码置于事件处理函数中
- 把所有事件处理函数置于文档就绪事件处理器中
- 把 jQuery 代码置于单独的 .js 文件中
- 如果存在名称冲突,则重命名 jQuery 库
jQuery 事件
下面是 jQuery 中事件方法的一些例子:
如需完整的参考手册,请访问我们的 jQuery 事件参考手册。
1.
$(function() {}
这是JQuery的语法,$表示JQuery对象,可以有好几种用法。比如传递选择器字符串、页面对象等,如果直接传函数体进去,表示当页面加载完毕时执行这个函数,就是你所问的用法。
2.$(document).ready(function(){
Jquery是优秀的Javascrīpt框架,$是jquery库的申明,它很不稳定(我就常遇上),换一种稳定的写法jQuery.noConflict();
jQuery(document).ready(function(){});
使用jQuery的好处是它包装了各种浏览器版本对DOM对象(javascript的DOM对象你应该知道吧,就是它了)的操作.
比如jquery写法:
$("div p"); // (1)
$("div.container"); // (2)
$("div #msg"); // (3)
$("table a",context); // (4)
$("#myId"); //(5)
第一行代码得到所有<div>标签下的<p>元素。第二行代码得到class 为container的<div>元素,第三行代码得到<div>标签下面id为msg的元素。第四行代码得到context为上下文的table里面所有的连接元素。第五行代码得到id为myid的所有元素
如果你熟悉CSS,你会觉得这些写法很眼熟!对了。正是。看出奥妙了吧。jquery就是通过这样的方式来找到Dom对象里面的元素。跟CSS的选择器相类似。
现在回答你的具体问题吧
$(document).ready(function(){
alert("hello");
});(1)
<body onload="alert('hello');">(2)
上面两段代码是等价的。但代码1的好处是做到表现和逻辑分离。并且可以在不同的js文件中做相同的操作,即$(document).ready (fn)可以在一个页面中重复出现,而不会冲突。基本上Jquery的很多plugin都是利用这个特性,正因为这个特性,多个plugin共同使用起来,在初始化时不会发生冲突。
如果我们在
$(document).ready(function(){
加入的内容
});
加入内容$(".btn-slide").click(function(){
alert("你单击了a标签中class等于btn-slide的连接");
});
则表示当我们单击class=btn-slide的超级连接时弹出“你单击了a标签中class等于btn-slide的连接”对话框.
如此方便易用,因此使用jquery是一个不错的选择。
AJAX
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码。参考一下代码吧:public static void main(String[] args) {ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("javascript");try {engine.eval("var a=3; var b=4;print (a+b);");// 不能调用浏览器中定义的js函数// engine.eval("alert(\"js alert\");"); // 错误,会抛出alert引用不存在的异常} catch (ScriptException e) {e.printStackTrace();}}
- 学习jquery-Jquery基础知识
- jquery学习--jQuery安装
- jQuery学习--jQuery选择器
- 学习JQuery
- jquery 学习
- JQuery 学习
- jquery 学习
- jQuery学习
- 学习JQuery
- jquery 学习
- jquery学习
- 学习jquery
- Jquery 学习
- JQuery 学习
- Jquery学习
- jquery 学习
- JQuery 学习
- jquery 学习
- 转:Nginx相关知识链接
- 今天的
- JSP:JAVA Bean在JSP中的运用
- ios 常用字符串的操作
- java调试错误备忘录
- Jquery学习
- AWK工具详解
- Sax,Pull,Dom解析
- vim学习笔记一(环境配置及编译文件)
- log
- Struts使用Sitemesh框架
- CentOS hadoop启动错误 JAVA_HOME is not set and could not be found
- 关于OSPF末梢区域
- java sdkee 安装