Chinaunix首页 | 论坛 | 博客
  • 博客访问: 214200
  • 博文数量: 29
  • 博客积分: 3470
  • 博客等级: 中校
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-17 15:35
文章分类
文章存档

2011年(2)

2010年(17)

2009年(2)

2008年(8)

我的朋友

分类: Java

2010-02-08 10:44:23

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

3.
$("span[@name=a]")选择了
$("span[@love=a]")选择了
$("li#a")           选择了

  • $("li.a")           选择了

  • $("li .a")          选择了
  • span被选择了

  • 由于可以看出 连在一起是指li并且class="a" 中间有空格是指
  • 下的class="a"的元素,同CSS选择器的道理一样
    $("div[@id=form]").hide("slow");找到

    并且这个层隐藏
    $("div[@id=form]").children().hide("slow")找到
    span才是被找到

    并隐藏
    $("h1:contains('换个写法')")找到

    换个写法


    $("h1 :contains('换个写法')")找到    

    换个写法



    由此可以看出,连在一起是找h1中包含'换个写法'的内容,有空格是找

    的下一级元素中含中'换个写法'的内容

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

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

    6
    $("a").parent("p")    只能找到

         直接关系
    $("a").parents("p") 可以找到

    所有的父
    $("p").eq(0)找到第一个p
    $("p:eq(0)")同上
    $("p:visible") 所有可见的p
    7
    $("div:first") 找到第一个div
    $("div:first-child") div的父元素的第一个元素是div才匹配
    以上基本上是写了下选择器,更多参考

  • 首先看下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的处理方式

    对于数组的处理方式

    之所以总结,是因为我对这些不熟,遇到这样子的我就套上这些

    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代码
          
    这样,我们就为这个button绑定了一个click的事件。

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

    JavaScript代码
          
    点击时,同样会显示:click

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

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

    JavaScript代码
          
    这样,刚才绑定的click又失效了,不过,这种方法往往用在submit提交的时候比较多。

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

    例:

    JavaScript代码
      
    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的项目为当前选中项      
                     $( "" ).appendTo( "#sel" ) //添加下拉框的option      
                     $( "#sel" ).empty(); //清空下拉框        


    所有效果说明:
    基本的鼠标互动:
    拖拽(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)可以跟很多选项
    选项说明:#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("
    Dropped!");
        }
    });
    });
    选项说明:ppables/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文档
    选项说明:#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();
    });
    选项说明:ectables/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
    选项说明:#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
    选项说明:#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
    选项说明:#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
    选项说明:#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
    选项说明:#options
    选项实例:#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
    选项说明:#initialoptions
    选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/tabs.html
    tabs ext

    第三部分:效果
    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
    阅读(977) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~