jQuery

JQuery小语法总结     

以该前端代码为例

<!DOCTYPE html>
    <html>
    <head>
    <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $("p").click(function(){
            $(this).hide();        
        });
    });
    </script>
    </head>
    <body>
    <h2 class="test">标题</h2>
    <p class="test">段落1<p>
    <p>段落2<p>
    <button>点我</button>
    </body>
    </html>


$("p")
选择元素

$("#test")
选择id

$(".test")
选择class



read()
$(document).ready() 方法允许我们在文档完全加载完后执行函数。

click()
单击触发事件:MouseDown(鼠标按下),Click(点击),MouseUp(松开鼠标)三个动作全部发生才会触发动作。

dblclick()
双击触发事件

mouseenter()
鼠标移到上面,触发事件

mouseleave()
鼠标离开触发事件

mousedown()
鼠标按下触发事件

mouseup()
鼠标离开触发事件

hover()

当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。

focus()
当元素获得焦点时,发生 focus 事件。

blur()
当元素失去焦点时,发生 blur 事件。

hide() show()
hide()隐藏,show()显示

    $('#id').css('display','none');
    $('#id').css('display','block');
    
    $('#id').hide();
    $('#id').show();

toggle()
同一个按钮,点击一下隐藏,再点击一下显示。一直循环。

fadeIn() fadeOut()
fadeIn()淡入、fadeOut()淡出、fadeToggle()同一按钮,淡入淡出、fadeTo()变淡至某一状态。

slideDown() slideUp()
slideDown()划下面板、slideUp()拉起面板、slideToggle()同一按钮。

animate() stop()
动画、停止动画。

callback

    $("button").click(function(){
      $("p").hide("slow",function(){
    alert("段落现在被隐藏了");
      });
    });
先隐藏后弹框

    $("button").click(function(){
      $("p").hide(1000);
      alert("段落现在被隐藏了");
    });
先弹框后隐藏

jQuery方法链接

    $(document).ready(function()
      {
      $("button").click(function(){
    $("#p1").css("color","red")
      .slideUp(2000)
      .slideDown(2000);
      });
    });


text() html() val()

text() - 设置或返回所选元素的文本内容  
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val()  - 设置或返回表单字段的值

attr()
获取或设置属性值

    $("button").click(function(){
        alert($("#runoob").attr("href"));
    });

    <p><a href="http://www.runoob.com" id="runoob">菜鸟教程</a></p>

添加元素

 append() - 在被选元素的结尾插入内容
 
 prepend() - 在被选元素的开头插入内容
 
 after() - 在被选元素之后插入内容
 
 before() - 在被选元素之前插入内容

区别:append/prepend 是在选择元素内部嵌入。after/before 是在元素外面追加。

remove() empty()
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素

addClass() removeClass()
addClass() 向被选元素添加一个或多个类属性(css样式)。

    $(document).ready(function(){
      $("button").click(function(){
        $("h1,h2,p").addClass("blue");
        $("div").addClass("important");
      });
    });

    .important
    {
        font-weight:bold;
        font-size:xx-large;
    }
    .blue
    {
        color:blue;
    }

removeClass() 删除属性 toggleClass()一个按钮

css()
返回、设置css的属性值。

返回:$("p").css("background-color");
设置:$("p").css("background-color","yellow");
设置多个属性值:$("p").css({"background-color":"yellow","font-size":"200%"});

设置尺寸



parent() children()

 parent() 方法返回被选元素的直接父元素。  
  $("span").parent();`

 parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)。下面的例子返回所有 <span> 元素的所有祖先,并且它是ul元素:

    $("span").parents("ul");
 parentsUntil()方法返回介于两个给定元素之间的所有祖先元素。

    $("span").parentsUntil("div");

 children() 方法返回被选元素的所有直接子元素。下面的例子返回类名为 "1" 的所有p元素,并且它们是div的直接子元素:

    $("div").children();

    $("div").children("p.1");

 find() 方法返回被选元素的后代元素,一路向下直到最后一个后代。

closest() 

parent是找当前元素的第一个父节点,不管匹不匹配都不继续往下找

parents是找当前元素的所有父节点 

closest() 是找当前元素的所有父节点 ,直到找到第一个匹配的父节点

同胞
 siblings() 方法返回被选元素的所有同胞元素。
 next() 方法返回被选元素的下一个同胞元素。
 nextAll() 方法返回被选元素的所有跟随的同胞元素。
 nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
 prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞之前元素遍历,而不是之后元素遍历)。

过滤
 first() 方法返回被选元素的首个元素。
 last() 方法返回被选元素的最后一个元素。
 eq() 方法返回被选元素中带有指定索引号的元素。
 filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
 not() 方法返回不匹配标准的所有元素。

Ajax:load() get() post()
jQuery load() 方法是简单但强大的 AJAX 方法。
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

    $(selector).load(URL,data,callback);

$.get() 方法通过 HTTP GET 请求从服务器上请求数据。$.get(URL,callback);
$.post() 方法通过 HTTP POST 请求从服务器上请求数据。$.post(URL,data,callback);

noConflict()

其中某些框架也使用 $ 符号作为简写(就像 jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。

noConflict() 方法会释放对 $ 标识符的控制,这样其他脚本就可以使用它了。
当然,您仍然可以通过全名替代简写的方式来使用 jQuery:

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery 仍然在工作!");
  });
});


$与$.fn的区别

$拓展的方法是静态方法,可以使用$直接调用,其拓展的方式有两种,一般使用$.extend({});;而$.fn拓展的方法是实例方法,必须由“对象”$("")来调用,其拓展的方式同样有两种,一般使用$.fn.extend({ })。

在框架中二者没有区别,只是样式有区别。


Ajax always、done
jQuery中Ajax有done和always这两个回调方法:
done:成功时执行,异常时不会执行。
always:不论成功与否都会执行。


ajaxComplete()

ajaxComplete() 方法规定 AJAX 请求完成时运行的函数。
不像 ajaxSuccess(),通过 ajaxComplete() 方法规定的函数将在请求完成时运行,即使请求并未成功。

posted @ 2018-03-05 17:46  谈笑风生~  阅读(166)  评论(0编辑  收藏  举报