JQuery基础入门

jquery基本入门 

第一天:选择器相关 
1.html()与.text() 
.html()取得第一个匹配元素的html内容。会带有标签,.text()仅是里边的文本 
.text()取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本 
2. 
$("a")选择所有的连接 
$(".a")选择所有class="a"的标签 
$("#a")选择id="a"的标签 

3. 
$("span[@name=a]")选择了<span name="a"></span> 
$("span[@love=a]")选择了<span love="a"></span> 
$("li#a")           选择了<li id="a"><li> 
$("li.a")           选择了<li class="a"><li> 
$("li .a")          选择了<li class="a"><span class="a">span被选择了</span><li> 
由于可以看出 连在一起是指li并且class="a" 中间有空格是指<li>下的class="a"的元素,同CSS选择器的道理一样 
$("div[@id=form]").hide("slow");找到<div id="form"><span></span></div> 
并且这个层隐藏 
$("div[@id=form]").children().hide("slow")找到<div id="form"><span>span才是被找到</span></div> 
并隐藏 
$("h1:contains('换个写法')")找到<h1>换个写法</h1> 
$("h1 :contains('换个写法')")找到     <h1><span>换个写法</span></h1><br /> 
由此可以看出,连在一起是找h1中包含'换个写法'的内容,有空格是找<h1>的下一级元素中含中'换个写法'的内容 

4. 
$("ul>li:odd") 偶数行 
$("ul>li:even") 奇数行 

5 var a=$("select[@name=class] option[@selected]"); 
    var b=$("select[@name=class1]"); 
    b.append(a); 
从一个下拉列表把内容放到另一个下拉列表里 


$("a").parent("p")    只能找到<p>段<a href="#">落</a>一</p>     直接关系 
$("a").parents("p") 可以找到<p>段<em><a href="#">落</a></em>二</p> 所有的父 
$("p").eq(0)找到第一个p 
$("p:eq(0)")同上 
$("p:visible") 所有可见的p 

$("div:first") 找到第一个div 
$("div:first-child") div的父元素的第一个元素是div才匹配 
以上基本上是写了下选择器,更多参考 
http://docs.jquery.com/Selectors 

第二天:ajax相关 

首先看下json,当然ajax可以返回xml.html,json等 

json_encode后的数据格式总结 
一,对象 
结果为hash表,就是{"键":"值","键":"值"}这样的形式,为js可以识别的对象 
二,一维索引数组 
结果为数组['元素一','元素二'],为js可以识别的数组 
三,一维相关数组 
结果为hash表,为js可以识别的对象 
四,多维索引数组 
结果为[["a","b"],["c","d"]]这样的形式,为js可以识别的数组 
五,多维相关数组 
结果为[{"1":"a","2":"b"},{"1":"c","2":"d"}],外边是js可以识别的数组,中间是hash 

对于hash的处理方式 
<script> 
var json={"title":"a","name":"b","age":"c"}; 
alert(json.age); 
</script> 
对于数组的处理方式 
<script> 
var json=["a","b","c"]; 
alert(json[1]); 
</script> 
之所以总结,是因为我对这些不熟,遇到这样子的我就套上这些 

OK,现在开始看jquery处理ajax 

$.ajax()为通用方式 
其中间必须是一个hash表即,形式为{键:值,键:值}的形式 
参数 
type:请求方式,默认为get,如:type:"post" 
url :ajax请求的url         如:url :"ajax.php" 也可以是url:"ajax.php?id=5"这样子id可以通过$_GET['id']得到 
data:传递的参数: 
如:data:"name=terry&age=30" 具体如何得到数据($_GET[],$_POST[])取决于上边的type. 
如:data:{name:"terry",age:"30"},此种形式会转成"name=terry&age=30" 
dateType:返回数据的方式,默认为html, 
>>>>>>>>如果返回json下边有个例子是处理这种类型的返回的数据<<<<<<<< 

ifModified:默认为false,如果为true,当数据没有变化时请求不成功 
error:请求失败是执行的函数 
timeout:请求的时间,超过此时间,请求失败 
complete:请求结束后执行的函数,不管请求成功或失败

 

第三天: 

昨天写了下ajax的通用方法:今天看下其它的方法 
load(url,[data],[callback]), 
默认是GET方式:如果load("ajax.php")用GET方式提交数据; 
如果有任何参数:如load("ajax.php","name=terry");刚用post方式提交数 

$.get(url,[data],[callback])用get方式向远程页面传递参数 
如 
$.get('ajax.php',{name:"terry",id:5},function(msg){ 
         $("#content").html(msg); 
}) 
以GET方式得到数据并放到层id为content的层中 

$.post(url,[data],[callback])同上,但数据以post方式提交 

$.getJSON(url,[data],[callback]) 
以get方式获得json数据,这里重点写下: 

如果返回的数据为数组 
如["a","b","c"]处理方式 
$.each(["a","c","c"].function(i){alert(this)}) 
返依次弹出a,b,c 

如果返回的数据为hash对象 
如{"name":"terry","age":"25"}处理方式 
$.each(msg,function(i){ 
             alert(i+"="+this); 
}) 
刚依次弹出name=terry,age=25 
就是说对于数组,i为0.1.2等,对于hash对象i为键 

如果返回的数据外边是数组,里边是hash对象 
[{"name":"terry","age":"25"},{"name":"abc","age":"30"}],刚处理方式 
function jq(){ 
     $.getJSON('ajax.php',function(msg){ 
         $.each(msg,function(i){ 
             $.each(this,function(j){ 
                 alert(j+this); 
             }); 
         }) 
     }) 



一个处理时的效果 
function jq(){ 

$.get('ajax.php',function(msg){ 
     $("#content").html(msg); 
     $("#con").html("处理结束"); 
}); 
$("#con").html('处理中......'); 


jQuery的bind函数 

jQuery学习之bind 

在jQuery里面,直接用bind函数和unbind函数为某个DOM或者HTML标签等绑定一个操作和移除一个事件就行了。 

例如为一个button添加一个click。可以这样操作 

XML/HTML代码 
< input type = 'button' id = 'myBtn' >     
这是一个button,现在我们要为他添加一个事件 

JavaScript代码 
<script>        
$( '#myBtn' ).bind( "click" , function (){        
     alert( 'click' );        
});        
</script>      
这样,我们就为这个button绑定了一个click的事件。 

bind函数可以有三个参数,当第二个参数不是一个函数,而是一个数据对象时,它将默认做为bind第三个参数(函数)的参数。例如: 

JavaScript代码 
<script>       
function showAlert(events){        
     alert(events.data.foo);        
}        
$( '#myBtn' ).bind( 'click' ,{foo: 'click' },showAlert);        
</script>      
点击时,同样会显示:click 

这些就是bind的一些基本用法,当然还有一些方法 

比如在绑定方法的时候,用的是return false;可以让这个方法失效 

JavaScript代码 
<script>        
$( '#myBtn' ).bind( 'click' , function (){        
return false ;        
})        
</script>      
这样,刚才绑定的click又失效了,不过,这种方法往往用在submit提交的时候比较多。 

还有一些方法可以取消默认行为和阻止事件起泡:preventDefault 和stopPropagation 

例: 

JavaScript代码 
<script>    
$( '#myBtn' ).bind( 'click' , function (event){    
event.preventDefault(); //取消默认的click行为    
});    
$( '#myBtn' ).bind( 'click' , function (event){    
event.stopPropagation(); //阻止click事件起泡    
});    
   
</script>   
jquery radio,checkbox,select操作 

JavaScript代码 
获取一组radio被选中项的值       
var item = $( 'input[@name=items][@checked]' ).val();       
获取select被选中项的文本       
var item = $( "select[@name=items] option[@selected]" ).text();       
select下拉框的第二个元素为当前选中值       
$( '#select_id' )[0].selectedIndex = 1;       
radio单选组的第二个元素为当前选中值       
$( 'input[@name=items]' ).get(1).checked = true ;       
       
获取值:       
       
文本框,文本区域:$( "#txt" ).attr( "value" );       
多选框checkbox:$( "#checkbox_id" ).attr( "value" );       
单选组radio:    $( "input[@type=radio][@checked]" ).val();       
下拉框select: $( '#sel' ).val();       
       
控制表单元素:       
文本框,文本区域:$( "#txt" ).attr( "value" , '' ); //清空内容       
                  $( "#txt" ).attr( "value" , '11' ); //填充内容       
       
多选框checkbox: $( "#chk1" ).attr( "checked" , '' ); //不打勾       
                  $( "#chk2" ).attr( "checked" , true ); //打勾       
                  if ($( "#chk1" ).attr( 'checked' )==undefined) //判断是否已经打勾       
       
单选组radio:     $( "input[@type=radio]" ).attr( "checked" , '2' ); //设置value=2的项目为当前选中项       
下拉框select:    $( "#sel" ).attr( "value" , '-sel3' ); //设置value=-sel3的项目为当前选中项       
                 $( "<option value='1'>1111</option><option value='2'>2222</option>" ).appendTo( "#sel" ) //添加下拉框的option       
                 $( "#sel" ).empty(); //清空下拉框        

http://docs.jquery.com/UI 

所有效果说明: 
基本的鼠标互动: 
拖拽(drag and dropping)、排序(sorting)、选择(selecting)、缩放(resizing) 
各种互动效果: 
手风琴式的折叠菜单(accordions)、日历(date pickers)、对话框(dialogs)、滑动条 

(sliders)、表格排序(table sorters)、页签(tabs) 
放大镜效果(magnifier)、阴影效果(shadow)

 

 

 

第一部分:鼠标交互 
1.1 Draggables:拖拽 
所需文件: 
ui.mouse.js 
ui.draggable.js 
ui.draggable.ext.js 

用法:文件载入后,可以拖拽class = "block"的层 
$(document).ready(function(){ 
     $(".block").draggable(); 
}); 

draggable(options)可以跟很多选项 
选项说明:http://docs.jquery.com/UI/Draggables/draggable#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/draggable.html 

1.2 Droppables 
所需要文件,drag drop 
ui.mouse.js 
ui.draggable.js 
ui.draggable.ext.js 
ui.droppable.js 
ui.droppable.ext.js 
用法: 
$(document).ready(function(){ 
     $(".block").draggable({helper: 'clone'}); 
$(".drop").droppable({ 
    accept: ".block", 
    activeClass: 'droppable-active', 
    hoverClass: 'droppable-hover', 
    drop: function(ev, ui) { 
        $(this).append("<br>Dropped!"); 
    } 
}); 
}); 
选项说明:http://docs.jquery.com/UI/Droppables/droppable#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/droppable.html 

1.3 Sortables 排序 
所需要的文件 
jquery.dimensions.js 
ui.mouse.js 
ui.draggable.js 
ui.droppable.js 
ui.sortable.js 
用法: 
$(document).ready(function(){ 
     $("#myList").sortable({}); 
}); 
dimensions文档http://jquery.com/plugins/project/dimensions 
选项说明:http://docs.jquery.com/UI/Sortables/sortable#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.sortable.html 

1.4 Selectables 选择 
所需要的文件 
jquery.dimensions.js 
ui.mouse.js 
ui.draggable.js 
ui.droppable.js 
ui.selectable.js 
用法: 
$(document).ready(function(){ 
     $("#myList").selectable(); 
}); 
选项说明:http://docs.jquery.com/UI/Selectables/selectable#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/selectable.html 

1.5 Resizables改变大小 
所需要的文件 ,此例子需要几个css文件 
jquery.dimensions.js 
ui.mouse.js 
ui.resizable.js 
用法: 
$(document).ready(function(){ 
     $("#example").resizable(); 
}); 
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css 
选项说明:http://docs.jquery.com/UI/Resizables/resizable#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.resizable.html 

第二部分:互动效果 
2.1 Accordion 折叠菜单 
所需要的文件: 
ui.accordion.js 
jquery.dimensions.js 
用法: 
$(document).ready(function(){ 
     $("#example").accordion(); 
}); 
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css 
选项说明:http://docs.jquery.com/UI/Accordion/accordion#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/accordion/?p=1.1.1 
2.2 dialogs 对话框 
所需要的文件: 
jquery.dimensions.js 
ui.dialog.js 
ui.resizable.js 
ui.mouse.js 
ui.draggable.js 

用法: 
$(document).ready(function(){ 
     $("#example").dialog(); 
}); 
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css 
选项说明:http://docs.jquery.com/UI/Dialog/dialog#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/dialog.html 

2.3 sliders 滑动条 
所需要的文件 
jquery.dimensions.js 
ui.mouse.js 
ui.slider.js 

用法: 
$(document).ready(function(){ 
     $("#example").slider(); 
}); 

CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css 
选项说明:http://docs.jquery.com/UI/Slider/slider#options 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.slider.html 

2.4 Tablesorter表格排序 
所需要的文件 
ui.tablesorter.js 

用法: 
$(document).ready(function(){ 
     $("#example").tablesorter({sortList:[[0,0],[2,1]], widgets: ['zebra']}); 
}); 

CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css 
选项说明:http://docs.jquery.com/Plugins/Tablesorter/tablesorter#options 
选项实例:http://tablesorter.com/docs/#Demo 

2.5 tabs页签(对IE支持不是很好) 
所需要的文件 
ui.tabs.js 
用法: 
$(document).ready(function(){ 
     $("#example > ul").tabs(); 
}); 
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css 
选项说明:http://docs.jquery.com/UI/Tabs/tabs#initialoptions 
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/tabs.html 
tabs ext http://stilbuero.de/jquery/tabs_3/rotate.html 

第三部分:效果 
3.1 Shadow 阴影 
实例http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.shadow.html 
3.2 Magnifier 放大 
实例http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.magnifier.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值