jQuery 自学教程

JQuery教程自学笔记(二) -- JQuery UI 续上一篇,   三、JQuery UI39 3.1 概述... 39 3.2 JQuery UI 基本工作过程... 41 3.2.1初始化... 41 3.2.2 方法... 42 3.2.3 通用方法... 42 3.2.4 事件... 43 3.2.5 共有事件... 43 3.3 JQuery UI示例... 44 3.3.1 Accord 阅读详情

前言

  • 在开始学习之前应该具备的知识
    • HTML
    • CSS
    • JavaScript

jQuery简介

jQuery是一个JavaScript库。jQuery库可以通过一行简单的标记被添加到网页中。

  • jQuery库包含的特性:
    • HTML元素的选取
    • HTML元素的操作
    • CSS操作
    • HTML事件函数
    • JavaScript特效和动画
    • HTML DOM遍历和修改
    • AJAX
    • Utilities

jQuery安装

  1. 下载jQuery

    jQuery有两个版本可供下载:
    Production version 用于实际的网站中,已被精简和压缩。
    Development version 用于测试和开发(未压缩,是可读的代码)。
    这两个版本都可以从 jQuery.com 下载。
    提 示 : \color{orange}{提示:} 提示: 您可以把下载的文件放到与页面相同的目录中,这样更方便使用。

  2. 把jQuery添加到您的网页

    因为jQuery库是一个JavaScript文件,您可以使用HTML的 <script> 标签引用它:

    <head>
    <script src="jquery.js"></script>
    </head>
    
  3. 替代方案

    如果您不希望下载并存放jQuery,那么也可以通过 CDN (内容分发网络) 引用它。
    Google CDN:

    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
    </head>
    

    Microsoft CDN

    <head>
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
    </head>
    

jQuery 语法

jQuery 语法是为HTML元素的选取编制的,可以对元素执行某些操作。

  • 基础语法是:$(selector).action()
    • 美元符号是定义jQuery
    • 选择符(selector) “查询"和"查找” HTML元素
    • jQuery 的 action() 执行对元素的操作

示例:

<html>
<head>
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("button").click(function () {
                $(this).hide() //隐藏当前元素
                // $("p").hide() //隐藏所有段落
                // $(".test").hide() //隐藏所有class="test"的元素
                // $("#test").hide() //隐藏所有id="test"的元素
            });
        });
    </script>
</head>
<body>
    <h2 class="test">This is a heading</h2>
    <p class="test">This is a paragraph.</p>
    <p>This is another paragraph.</p>
    <button type="button">Click me</button>
</body>
</html>

文档就绪函数

$(document).ready(function(){
    //jquery code in here
});

为什么要将jQuery代码写在文档就绪函数中?

是为了防止文档在完全加载(就绪)之前运行jQuery代码。
如果在文档未完全加载之前就运行函数,操作可能失败。如:

  • 试图隐藏一个不存在的元素
  • 获取未完全加载的图像大小

jQuery 选择器

jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对HTML元素进行选择。
选择器允许您对HTML元素组或单个元素进行操作。
在HTML DOM 术语中:选择器允许您对DOM元素组或单个DOM节点进行操作。
jQuery 选择器参考手册

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").css("background-color","red"); //把所有p元素的背景颜色更改为红色。

jQuery 事件

jQuery 是为事件处理特别设计的。
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(); // 隐藏所有的<p>元素
            });
        });
    </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>

单独文件中的函数

如果您的网站包含许多页面,并且您希望您的jQuery函数易于维护,那么请把您的jQuery函数放到独立的 .js 文件中。

实例:通过script标签的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 代码需要遵循的规则

  1. 把所有的jQuery代码置于事件处理函数中
  2. 把所有事件处理函数置于文档就绪事件处理器中
  3. 把jQuery代码置于单独的 .js 文件中
  4. 如果存在命名冲突,则重命名jQuery库

jQuery 效果

jQuery 效果包括隐藏、显示、切换、滑动、淡入淡出,以及动画。
jQuery 效果参考手册

jQuery 隐藏/显示

jQuery hide() 和 show()
通过jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示HTML元素。

语法:

$(selector).hide(speed,callback);
$(selector).show(speed,callback);

可选参数 speed 规定隐藏和显示的速度,可以取以下值:“slow”、"fast"或毫秒。
可选参数 callback 是隐藏和显示完成后执行的函数名称。

实例:

<!DOCTYPE html>
<html>

<head>
    <script src="/jquery/jquery-1.11.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#hide").click(function () {
                $("p").hide();
            });
            $("#show").click(function () {
                $("p").show();
            });
        });
    </script>
</head>

<body>
    <p id="p1">如果点击“隐藏”按钮,我就会消失。</p>
    <button id="hide" type="button">隐藏</button>
    <button id="show" type="button">显示</button>
</body>

</html>

jQuery toggle()
通过jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。

功能描述:显示被隐藏的元素,并隐藏已显示的元素。

语法:

$(selector).toggle(speed, callback);

可选参数speed规定隐藏和显示的速度,可以取以下值:“slow”、“fast” 或毫秒。
可选参数 callback 是 toggle() 方法完成后所执行的函数名称。

实例:

$("button").click(function(){
    $("p").toggle();
})

jQuery 淡入淡出

通过jQuery, 您可以实现元素的淡入淡出效果。

jQuery 拥有四种 fade 方法:

  • fadeIn()
  • fadeOut()
  • fadeToggle()
  • fadeTo()

jQuery fadeIn() 方法
jQuery fadeIn() 用于淡入已隐藏的元素。

语法:

$(selector).fadeIn(speed, callback);

可选参数speed规定效果时长,它可以取以下值:“slow”、“fast” 或毫秒。
可选参数callback是fading完成后所执行的函数名称。

实例:

$("button").click(function(){
    $("#div1").fadeIn();
    $("#div1").fadeIn("slow");
    $("#div1").fadeIn(3000);
})

jQuery fadeOut() 方法
jQuery fadeOut() 方法用于淡出可见元素。

语法:

$(selector).fadeOut(speed. callback);

可选参数 speed 规定效果时长,它可以取以下值:“slow”、“fast” 或毫秒。
可选参数 callback 是 fading 完成后所执行的函数名称。

实例:

$("button").click(function(){
    $("#div").fadeOut();
    $("#div").fadeOut("slow");
    $("#div").fadeOut(3000);
})

jQuery fadeToggle() 方法
jQuery fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。

功能描述:

  • 如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。
  • 如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果。

语法:

$(selector).fadeToggle(speed, callback);

可选参数 speed 规定效果时长,它可以取以下值:“slow”、"fast"或毫秒。
可选参数 callback 是 fading 完成后所执行的函数名称。

实例:

$("button").click(function(){
    $("#div").fadeToggle();
    $("#div").fadeToggle("slow");
    $("#div").fadeToggle(3000);
})

jQuery fadeTo()方法
jQuery fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。

语法:

$(selector).fadeTo(speed,opacity,callback);

必须参数 speed 规定效果时长,它可以取以下值:“slow”、"fast"或毫秒。
必须参数 opacity 将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。
可选参数 callback 是该函数完成后所执行的函数名称。

实例:

$("button").click(function(){
    $("#div").fadeTo("slow",0.15);
    $("#div").fadeTo("slow",0.4);
    $("#div").fadeTo("slow",0.7);
})

jQuery 滑动

jQuery 滑动方法可使元素上下滑动。

jQuery 拥有三种滑动方法:

  • slideDown()
  • slideUp()
  • slideToggle()

jQuery slideDown()方法
jQuery slideDown() 方法用于向下滑动元素。

语法:

$(selector).slideDown(speed, callback);

可选参数 speed 规定效果时长,它可以取以下值:“slow”、“fast” 或毫秒。
可选参数 callback 是滑动完成后执行的函数名称。

实例:

$("#flip").click(function(){
    $("#panel").slideDown();
});

jQuery slideUp()方法
jQuery slideUp()方法用于向上滑动元素。

语法:

$(selector).slideUp(speed, callback);

可选参数 speed 规定效果时长,它可以取以下值:“slow”、“fast” 或毫秒。
可选参数 callback 是滑动完成后执行的函数名称。

实例:

$("flip").click(function(){
    $("#panel").slideUp();
});

jQuery slideToggle()方法
jQuery slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。

功能描述:

  • 如果元素向下滑动,则 slideToggle() 可向上滑动它们。
  • 如股元素向上滑动,则 sideToggle() 可向下滑动它们。

语法:

$(selector).slideToggle(speed, callback);

可选参数 speed 规定效果时长,它可以取以下值:“slow”、“fast” 或毫秒。
可选参数 callback 是滑动完成后执行的函数名称。

实例:

$("#flip").click(function(){
    $("#panel").slideToggle();
});

jQuery 动画

jQuery animate() 方法用于创建自定义动画。

语法:

$(selector).animate({params},speed,callback);

必须参数 params 定义形成动画的CSS属性。
可选参数 speed 规定效果时长,它可以取以下值:“slow”、“fast” 或毫秒。
可选参数 callback 是动画完成后所执行的函数名。

实例:把 <div> 元素移动到左边,直到 left 属性等于 250 像素为止。

$("button").click(function(){
    $("div").animate({left:'250px'});
});

提 示 : \color{orange}{提示:} 提示:

  • 默认地,所有元素都有一个静态位置,且无法移动。
  • 如需对位置进行操作,要记得首先把元素的CSS position 属性设置为 relative、fixed 或 absolute。

jQuery animate() 操作多个属性
请注意,生成多个动画的过程中可同时使用多个属性。

实例:

$("button").click(function(){
    $("div").animate({
        left:'250px',
        opacity:'0.5',
        height:'150px',
        width:'150px',
    });
});

提 示 : \color{orange}{提示:} 提示: 可以用 animate() 方法来操作所有 CSS 属性吗?
是的,几乎可以!当使用 animate() 时,必须使用Canel标记法书写所有属性名。
比如,paddingLeft 代替 padding-left


jQuery animate() 使用相对值
定义相对值(该值相对于元素的当前值),需要在值的前面加上 += 或 -=

实例:

$("button").click(function(){
    $("div").animate({
        left:'250px',
        height:'+=150px',
        width:'+=150px'
    });
});

jQuery animate() 使用预定义的值
可以把属性的动画值设为"show"、“hide”、“toggle”。

实例:

$("button").click(function(){
    $("div").animate({
        height:'toggle'
    });
});

jQuery animate() 使用队列功能
默认jQuery 提供针对动画的队列功能。
这意味着如果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用"内部队列",然后逐一运行这些 animate 调用。

实例:

$("button").click(function(){
    var div = $("div");
    div.animate({height:'300px',opacity:'0.4'},"slow");
    div.animate({width:'300px',opacity:'0.8'},"slow");
    div.animate({height:'100px',opacity:'0.4'},"slow");
    div.animate({width:'100px',opacity:'0.8'},"slow");
});

实例:把<div> 元素移动到右边,然后增加文本字号。

$("button").click(function(){
    var div = $("div");
    div.animate({left:'100px'},"slow");
    div.animate({fontSize:'3em'},"slow");
});

jQuery stop()

jQuery stop() 方法用于在动画或效果完成前对它们进行停止。
stop() 方法适用于所有jQuery效果函数,包括滑动、淡入淡出和自定义动画。

语法:

$(selector).stop(stopAll,goToEnd);

可选参数 stopAll 规定是否应该清除动画队列,默认是false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选参数 goToEnd 规定是否立即完成当前动画,默认是false。
因此默认的,stop() 会清除在被选元素上指定的当前动画。

实例:

$("#stop").click(function(){
    $("#panel").stop();
});

jQuery Callback

Callback 函数在当前动画100%完成之后执行。
由于JavaScript语句(指令)是逐一执行的 按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。
为了避免这个情况,您可以以参数的形式添加Callback函数。

语法:

$(selector).hide(speed,callback);

callback 参数是一个在hide操作完成后被执行的函数。

实例:

$("p").hide(1000,function(){
    alert("The paragraph is now hidden");
});

jQuery Chaining

通过jQuery, 您可以把动作/方法链接起来。
Chaining 允许我们在一条语句中允许多个jQuery方法(在相同的元素上)。
提 示 : \color{orange}{提示:} 提示:这样的话,浏览器不必多次查找相同的元素。

实例:"p1"元素首先会变红色,然后向上滑动,然后向下滑动。

$("#p1").css("color","red").slideUp(2000).slideDown(2000)

jQuery HTML

jQuery 文档操作
jQuery 属性操作
jQuery CSSC操作

jQuery 获得内容和属性

jQery 拥有可操作HTML元素和属性的强大方法。

jQuery DOM操作
jQuery 中非常重要的部分,就是操作DOM的能力。
jQuery 提供一系列与DOM相关的方法,这使访问和操作元素和属性变得很容易。
提 示 : \color{orange}{提示:} 提示:DOM = Document Object Model(文档对象模型)。

获得内容 text()、html()、val()
三个简单实用的用于DOM操作的jQuery方法

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

实例:

$("#tn1").click(function(){
    alert("text:" + $("#test").text());
    alert("HTML:" + $("#test").html());
    alert("Value:" + $("#test").val());
});

获取属性 attr()
jQuery attr() 方法用于获取属性值。

实例:获得链接中的href属性值

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

jQuery 设置

设置内容 text()、html()、val()
三个简单实用的用于DOM操作的jQuery方法

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

实例:

$("#btn1").click(function(){
    $("#test1").text("Hello world");
});
$("#btn2").click(function(){
    $("#test2").html("<b>Hello world!</>");
});
$("#btn3").click(function(){
    $("#test3").val("Dolly Duck");
});

text()、html()、val() 的回调函数
回调函数由两个参数:被选元素列表中当前元素的下标,以及原始值,然后以函数新值返回您希望使用的字符串。

实例:

$("#btn1").click(function(){
    $("#test1").text(function(i,origText){
        return "Old text:" + origText + "new text:Hello world! (index: " + i + ")";
    });
});

$("#btn2").click(function(){
    $("#test2").html(function(i,origText){
        return "Old html:" + origText + " New html: Hello <b>world</b>(index:"+ i +")";
    });
});

设置属性 attr()
jQuery attr() 方法也用于设置/改变属性值。

实例:

$("button").click(function(){
    $("#w3s").attr("href":"[http://](http://www.w3school.com.cn/jquery)");
});

实例:同时设置多个属性

$("button").click(function(){
    $("#w3s").attr({
        "href":"http://www.w3school.com.cn/jquery",
        "title":"W3School jQuery Tutorial"
    });
});

attr() 的回调函数
回调函数由两个参数:被选元素列表中当前元素的下标,以及原始值,然后以函数新值返回您希望使用的字符串。

$("button").click(function(){
    $("#w3s").attr("href",function(i,origValue){
        return origValue + "/jquery";
    });
});

jQuery 添加元素

通过jQuery,可以很容易地添加元素/内容。
添加新的HTML内容
添加新内容的方法

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

jQuery append()方法

实例:

$("p").append("Some appended text");

jQuery prepend()方法

实例:

$("p").prepend("Some prepended text");

通过append() 和 prepend() 方法添加若干新元素
append() 和 prepend() 方法能够通过参数接收无限数量的新元素。

实例:

function appendText()
{
    var txt1 = "<p>Text</p>"; //以HTML创建新元素
    var txt2 = $("<p></p>").text("Text"); //以jQuery创建新元素
    var txt3 = document.createElement("p"); //以DOM创建新元素
    txt3.innerHtml = "Text";
    $("p").append(txt1,txt2,txt3);
}

jQuery after() 和 brfore() 方法

实例:

$("img").after("Some text after");
$("img").before("Some text before");

通过after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。

实例:

function afterText()
{
    var txt1 = "<b>I</b>";
    var txt2 = $("<i></i>").text("love");
    var txt3 = document.createElement("big");
    txt3.innerHtml = "jQuery";
    $("p").after(txt1,txt2,txt3);
}

jQuery 删除

通过jQuery, 可以很容易地删除已有元素。

删除元素和内容
两个删除元素和内容的方法:

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

jQuery remove() 方法

实例:

$("#div").remove();

jQuery empty() 方法

实例:

$("#div1").empty();

过滤被删除的元素
jQuery remove() 方法也可接受一个参数,允许您对被删除元素进行过滤。
该参数可以是任何jQuery选择器的语法。

实例:删除class="italic"的所有<p>元素。

$("p").remove(".italic");

jQuery CSS类

通过jQuery,可以很容易地对CSS元素进行操作。

jQuery 操作 CSS
jQuery 拥有若干进行CSS操作的方法。

  • addClass() 向被选元素添加一个或多个类
  • removeClass() 从被选元素删除一个或多个类
  • toggleClass() 对被选元素进行添加/删除类的切换操作
  • css() 设置或返回样式属性
.important
{
    font-weight:bold;
    font-size:xx-large;
}

.blue
{
    color:blue;
}

jQuery addClass()方法

实例:选取多个元素添加类 添加多个类

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

$("button").click(function(){
  $("#div1").addClass("important blue");
});

jQuery removeClass()

实例:

$("button").click(function(){
  $("h1,h2,p").removeClass("blue");
});

jQuery toggleClass() 方法

实例:

$("button").click(function(){
  $("h1,h2,p").toggleClass("blue");
});

jQuery css() 方法
返回CSS属性的语法:

css("propertyname");

实例:

$("p").css("background-color");

设置CSS属性值的语法:

css("propertyname","value")

实例:

$("p").css("background-color","yellow");

设置多个CSS属性语法:

css({"propertyname":"value",.....})

实例:

$("p").css({"background-color":"yellow","font-size":"200%"});

jQuery 尺寸

jQuery 提供多个处理尺寸的重要方法:

  • width()
  • height()
  • innerWidth()
  • innerHeight()
  • outerWidth()
  • outerHeight()

jQuery width() 和 height() 方法
width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

实例:返回指定的 <div> 元素的宽度和高度

$("button").click(function(){
  var txt="";
  txt+="Width: " + $("#div1").width() + "</br>";
  txt+="Height: " + $("#div1").height();
  $("#div1").html(txt);
});

jQuery innerWidth() 和 innerHeight() 方法
innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。

实例:返回指定的 <div> 元素的 inner-width/height:

$("button").click(function(){
  var txt="";
  txt+="Inner width: " + $("#div1").innerWidth() + "</br>";
  txt+="Inner height: " + $("#div1").innerHeight();
  $("#div1").html(txt);
});

jQuery outerWidth() 和 outerHeight() 方法
outerWidth() 方法返回元素的宽度(包括内边距和边框)。
outerHeight() 方法返回元素的高度(包括内边距和边框)。

实例:返回指定的 <div> 元素的 outer-width/height:

$("button").click(function(){
  var txt="";
  txt+="Outer width: " + $("#div1").outerWidth() + "</br>";
  txt+="Outer height: " + $("#div1").outerHeight();
  $("#div1").html(txt);
});

outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。
outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。

实例:

$("button").click(function(){
  var txt="";
  txt+="Outer width (+margin): " + $("#div1").outerWidth(true) + "</br>";
  txt+="Outer height (+margin): " + $("#div1").outerHeight(true);
  $("#div1").html(txt);
});

jQuery - 更多的 width() 和 height()

实例:返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度:

$("button").click(function(){
  var txt="";
  txt+="Document width/height: " + $(document).width();
  txt+="x" + $(document).height() + "\n";
  txt+="Window width/height: " + $(window).width();
  txt+="x" + $(window).height();
  alert(txt);
});

实例:设置指定的

元素的宽度和高度:

$("button").click(function(){
  $("#div1").width(500).height(500);
});

jQuery 遍历

什么是遍历?
jQuery 遍历意为"移动",用于根据其相对于其他元素的关系来查找和选取HTML元素,以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素。
jQuery 遍历参考手册

遍历DOM
jQuery提供了多种遍历DOM的方法。
遍历方法中最大的种类是树遍历(tree-traversal)

jQuery 祖先

向上遍历 DOM 树,查找元素的祖先
常用于向上遍历DOM树的方法:

  • parent() 返回被选元素的直接父元素
  • parents() 返回被选元素的所有祖先元素,它会一路向上直到文档的根元素(<html>)
  • parentsUtils() 返回介于两个给定元素之间的所有祖先元素

实例:

$(document).ready(function(){
 $("span").parent();
 $("span").parents();
 $("span").parentsUtil("ul");
});

jQuery 后代

通过jQuery,向下遍历DOM树,以查找元素后代。
向下遍历DOM树的方法:

  • children() 返回被选元素的所有直接子元素
  • find() 返回被选元素的所有后代子元素,一路向下直到最后一个后代。

实例:

$(document).ready(function(){
 $("div").children();
 $("div").children("p.1"); //返回所有div的直接子元素,并且这些子元素是p标签且它们的类名是1。
 $("div").find("span");
 $("div").find("*");
});

jQuery 同胞

通过jQuery, 在DOM树中水平遍历,以查找同胞元素。
水平遍历DOM树的方法:

  • siblings() 返回被选元素的所有同胞元素
  • next() 返回被选元素的下一个同胞元素
  • nexrAll() 返回被选元素的所有跟随的同胞元素
  • nextUntil() 返回介于两个给定参数之间的所有跟随的同胞元素
  • prev() 返回被选元素的上一个同胞元素
  • prevAll() 返回被选元素的所有上面的同胞元素
  • prevUntil() 返回介于两个给定参数之间的所有上面的同胞元素

实例:

$(document).ready(function(){
 $("h2").siblings();
 $("h2").siblings("p");
 $("h2").next();
 $("h2").nextAll();
 $("h2").nextUntil("h6");
 $("h2").prev();
 $("h2").prevAll();
 $("h2").preVUntil("h6");
})

jQuery 过滤

缩小搜索元素的范围
三个最基本的过滤方法:

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

实例:

$(document).ready(function(){
 $("div p").first();
 $("div p").last();
 $("p").eq(1);  //元素索引从0开始
 $("p").filter(".intro");
 $("p").not(".intro");
})

jQuery AJAX

什么是AJAX?

AJAX = Asynchronous JavaScript and XML
AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的刷新。

jQuery 与 AJAX

jQuery 提供了多个与AJAX有关的方法
jQuery 团队为我们解决了不同浏览器的兼容问题,可以使用简短的语句使用AJAX。

jQuery AJAX load()方法

load() 从服务器加载数据,并把返回数据加载到被选元素。
语法:

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

必需参数 URL 规定您希望加载的 URL。
可选参数 data 规定与请求一同发送的查询字符串键/值对集合。
可选参数 callback 是 load() 方法完成后所执行的函数名称。
回调函数的参数:

  • responseTxt - 包含调用成功时的结果内容
  • statusTXT - 包含调用的状态
  • xhr - 包含 XMLHttpRequest 对象

实例:

$("div").load("demo.txt");
$("div").load("demo.txt #p1")
$("button").click(function(){
 $("#div1").load("demo.txt", function(responseTxt,statusTxt,xhr){
  if(statusTxt === "success"){
   console.log("内容加载成功");
  }
  if(statusTxt === "error"){
   console.log("Error: "+xhr.status+": "+xhr.statusText)
  }
 })
})

jQuery AJAX Get/Post 方法

jQuery get() 和 post() 方法用于通过HTTP GET 或 POST 请求从服务器请求数据。
HTTP 亲求:GET 和 POST:

  • GET:从指定的资源请求数据。
  • POST:向指定的资源提交要处理的数据

jQuery $.get() 方法:通过HTTP GET请求从服务器请求数据。
语法:

$.get(URL,callback);

必须参数URL规定您希望请求的URL。
可选参数callback是请求成功后执行的函数名。
实例:

$("button").click(function(){
$.get("demo_test.asp",function(data,status){
  alert("Data: " + data + "\nStatus: " + status);
});
});

jQuery $.post()方法通过HTTP POST请求从服务器上请求数据。
语法:

$.post(URL,data,callback);

必须参数URL规定您希望请求的URL。
可选参数data规定连同请求发送的数据。
可选参数callback请求成功后执行的函数名。
实例:

$("button").click(function(){
$.post("demo_test_post.asp",
{
  name:"Donald Duck",
  city:"Duckburg"
},
function(data,status){
  alert("Data: " + data + "\nStatus: " + status);
});
});

参考文献

jQuery 教程

Bootstrap 自学心得 Bootstrap 自学心得 Bootstrap 这个框架大概算起来前前后后学了大概一个星期,不能说精通但是对应开发一个简单的响应式页面,或者是一个响应式后台。难度以及不是很大 下面就来讲一下自己自学的经验和心得吧。 1.0 建议视频和文档结合学习 如果html 和 css 以及 JavaScript 基础不是特别好的朋友简易可以先开发一个左右的 div+css 的网站 当然面对这样几... 阅读详情

相关推荐

Lora无线温湿度传感器方案

综上所述,Lora无线温湿度传感器以其长距离传输、低功耗、高稳定性、精准测量、无线传输以及广泛的应用场景等特点,在环境监测领域展现出了强大的竞争力和广泛的应用前景。Lora无线温湿度传感器广泛应用于各种需要远程监控和数据采集的场景,如仓储、农业、机房、楼宇、交通、工业、矿产、电力等领域。Lora无线温湿度传感器是一种采用Lora无线通信技术进行数据传输的温湿度监测设备。四、产品参数(以某款工业级Lora温湿度传感器为例)

weixin_46632654的博客 757

jQuery资料之基本知识

jQuery引用: &amp;lt;head&amp;gt; &amp;lt;script src=&quot;jquery-1.10.2.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;/head&amp;gt; 如果不希望下载并存放 jQuery,那么也可以通过 CDN(内容分发网络) 引用它。taticfile CDN、百度、又拍云、新浪、谷歌和微

宅羽的博客 383

sentinel——SLC数据下载、DEM数据下载拼接、精密轨道数据下载方法

Sentinel——SLC数据下载、DEM数据下载、精密轨道数据下载方法 SLC数据下载 网址:https://search.asf.alaska.edu DEM数据下载 1 手动下载 http://srtm.csi.cgiar.org/srtmdata/ 3.在SARscape中使用下载好的DEM 将下载好的DEM放在软件默认下载DEM路径下(默认路径是C:\Users<用户名&g...

u011322358的博客 2万+

jquery的使用

JS和jquery在添加内容和样式时的区别:jquery的一些方法。jquery实现内容的显示和隐藏。对标签坐标信息或尺寸信息的获取。给button按钮添加点击事件:延迟动画。fadeIn():淡入。fadeOut():淡出。实现留言板。实现点击返回到顶部

weixin_53748496的博客 8204

第17篇:深入解析OpenEuler 24.03系统中的逻辑卷管理(LVM)

OpenEuler 24.03系统中的逻辑卷管理(LVM)提供了灵活的存储管理方案,通过在物理存储与文件系统间构建抽象层实现动态资源分配。

专注于系统运维、数据库、DevOps、虚拟化技术、docker、kubernetes、等云原生技术。 1689

YOLOv8模型部署与测试:保姆级教程(含Ultralytics配置避坑指南)

本文提供了一份详尽的YOLOv8模型部署与测试指南,涵盖环境配置、模型加载、参数优化、批量处理及API服务封装等关键步骤。重点分享了Ultralytics框架在实际部署中的常见问题与解决方案,帮助开发者高效完成从训练到生产的过渡,确保模型在真实场景中稳定运行。

weixin_29038155的博客 292

jquery常用知识

jQuery 什么是jq 官网:https://jquery.com/ 定义:jquery是一个快速、小型和功能丰富的javascript库。发展历程:2006 特点: 1.隐式迭代 2.链式编程 js使用时的缺点: 1.方法长,不好记忆 2.兼容性不好 3.代码繁琐(可读性低) 遍历 嵌套循环 4.注册事件会被覆盖 5.做动画麻烦 jQuery优点: 1.隐式迭代(偷偷的循环) 2.获取元素方便 3.兼容好 4.实现动画简单 5.注册事件不会被覆盖… jq版本(1. 2. 3.)国内用1

Debug的博客 507

Palantir解密:从企业数字化能力构成说起,“本体”如何破解现代企业数据应用难题?

抛开技术外壳来看,Palantir“本体”的理念内核其实并不复杂:构建一个统一、可操作的数字现实,以高效驱动决策与行动。其技术实施和产品沉淀的过程诚然是高复杂性、高难度的,但这正体现了Palantir所代表的新硅谷“All in AI+”的战略决心。对于我们而言,必须深刻认识到:企业数字化能力建设既不是高精尖技术的简单堆砌,也不是局部场景的数字化改良,而是一场企业级的“数字孪生”——关乎战略、组织与业务全域的体系能力的重塑。

SZSDQJC的博客 1685

零基础也能学习jquery

jQuery 入门指南摘要: jQuery 是一个能简化 JavaScript 操作的库,核心理念是"写得少,做得多",特别适合前端新手。使用 jQuery 只需记住基础公式:$(选择器).方法()。入门步骤包括:通过 CDN 或本地文件引入 jQuery 库、将代码包裹在 $(function(){}) 中确保页面加载后执行。核心操作分为三部分:使用 CSS 类似的选择器定位元素、通过方法修改内容/样式/结构(如 .text(), .css(), .append())、以及处理用户交互

2202_75407589的博客 638

西门子S7-1200/1500 PLC编程与应用技巧

西门子S7-1200 PLC是一款紧凑型的控制器,适用于小型到中型的自动化控制任务。紧凑设计:集成了I/O模块,减少了控制柜的空间需求。高性能:高达25µs的扫描时间,能够快速响应。模块化扩展:支持扩展输入输出模块、通信模块和智能模块,满足不同的应用需求。多种编程语言:支持Ladder图(梯形图)、功能块图(FBD)、结构化文本(ST)等多种编程语言。西门子S7-1200与S7-1500 PLC是强大且灵活的工业控制系统,适用于各种自动化应用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2668

Briefings in Bioinformatics投稿经验分享

Briefings in Bioinformatics投稿经验分享

LiRongLu_的博客 3335

JQuery 基础知识学习(详尽版)2024.11.17

jQuery的核心方法

zgscwxd的博客 1859

拓竹P1S封神玩法|AI图生3D+精准修改全攻略,打孔/挖盖再也不用瞎琢磨!

AI图生3D建模结合后期修改,让拓竹P1S用户轻松实现创意打印。文章详细介绍了从照片拍摄、AI模型生成到后期修改的全流程:使用腾讯混元3D或Tripo3D快速生成3D模型,通过Blender或Fusion360进行精准打孔、挖盖子等修改,最后在OrcaSlicer中优化切片参数适配P1S打印。重点解决了AI模型无法直接打印的问题,提供了壁厚控制、孔径调整等实用技巧,并针对常见打印问题给出解决方案,帮助新手实现从AI生成到成品打印的无缝衔接。

2501_93651177的博客 1874

JQuery教程自学笔记

JQuery教程自学笔记 2.1 JQuery基本语法 $(selector).action()   • $ 符合定义这是一个JQuery语句 • (selector) 用来选择某个HTML元素,其语法和CSS的selector语法一样。 •action() 定义操作该HTML元素的方法。     比如:   $(this).hide() – 隐藏当前元素.   $(

pangwenquan5的专栏 712

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jQuery自学教程(一)

JQuery是一个优秀的Javascript库,顾名思义,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML、events

WangQYoho的博客 833

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jquery ajax请求自学教程

首先需要jquery 在自己的页面导入jquery jquery下载 提取码:3b3i var param = { 'rid' : rid }; $.ajax({ type : ‘get’, //请求方式 url : ‘UpdateOrderStateServlet’, //请求路径 data : param, //携带的参数 contentType:‘内容类型,默认为"applicati...

weixin_42626643的博客 226

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jQuery自学教程(五)——事件对象

一、事件对象 js在事件处理函数中默认传递了event对象,jQuery在封装的时候,解决了兼容性问题,而且创建了一些非常好用的属性和方法。 事件对象就是event对象,通过处理函数默认传递接受。

WangQYoho的博客 586

jQuery自学教程(三)——DOM操作

DOM有三种形式,标准DOM、HTML DOM、CSS DOM,大部分进行了封装,然而jQuery中并不需要深刻理解它们。 其中最重要的DOM操作,就是元素及内容的操作和元素的属性操作。 一、元素及内容操作 Ps:text方法可以自动滤掉html标签直接获得文本内容。同理,当用text方法设置内容时,会自动将html标签转义为普通文本。 二、属性操作 Ps:这里第四个写法是一

WangQYoho的博客 564

jQuery自学教程(二)——选择器

选择器引擎 jQuery的核心就是选择器引擎了。它集成了css的语法,可以对DOM元素的标签名、属性名、状态等进行准确快速的选择,且不必担心兼容性。 首先先补充一点css选择器的基础,简单介绍。 开发者的规定是一个页面不允许重复id,而如果你这样做了,用css的id选择器并不会报错,依旧会将所有符合要求的id选择出来,这一点就不够优化了。使用jQuery选择,则只会选择第一个id符合要求

WangQYoho的博客 594

jQuery自学教程(四)——事件

一、绑定事件 jQuery中通过bind()方法来为元素绑定这些事件(click, mousedown, mouseover, mousemove, change, select, blur, focus,等等),可以传递三个参数bind(type,[data],fn),type表示一个或多个类型的事件名字符串;[data]可选,作为event,data属性值传递一个额外的数据,这个数据是一个字

WangQYoho的博客 494

jQuery自学教程(六)——动画

一、显示、隐藏 show(),hide()   [hide()和$().css('display','none/inline/block')效果相同] 这两个方法可以传递一个参数,这个参数以ms为单位控制速度,且里面包含了匀速变大变小,以及透明度变换的效果。除了直接 传ms单位的时间值,也可以传‘slow’,‘normal’,‘fast’,分别对应600ms,400ms,200ms。 这

WangQYoho的博客 515

PHP 入门学习教程及进阶(源于知乎网友的智慧)

思过崖历程: 自学的动机、自学的技巧、自学的目标三个方面描述学习PHP的经历 一、自学的动机: 一定要有浓厚的兴趣,兴趣是最后的老师,可以在你迷茫的时候不断地支撑着你走下去。 自学不是为了工作,不是为了梦想,仅仅是随便玩玩而已,大可不必各种纠结,互联网很发达,教程随便一搜就一大堆,学个一知半解装装B还是很轻松的,特别是慕课网上的各种眼花缭乱的视频教程,绝B会让你恨时间如流水,何其宝

在思索中前行! 1万+

html自学微盘,小白入门也不难,5个必备「自学前端资源网站」快拿走

原标题:小白入门也不难,5个必备「自学前端资源网站」快拿走出于工作原因,最近接触了很多想转行的朋友,很多人跃跃欲试却又不敢转到前端这一行,都是因为害怕自己搞不懂、学不会编程,搞不定代码。很明白大家心中的这种顾虑,但既然已经有了这个转行或者学习的心思,不妨先自己看一看学一学。这里给想要尝试的大家整理了5个必备「自学前端资源网站」博客园 一个面向开发者的知识分享社区,一个IT技术人员想为IT技术人员们...

weixin_33895547的博客 261

6-17

表格的展开与关闭 <tr class="type" id="t2"> <td colspan="2">jQuery书籍</td> </tr> <tr class="line_t2"> <td>jQuery开发基础教程</td> &l...

weixin_45328633的博客 172

html5加css3自学,JavaWeb中级-前端篇(包括HTML5+CSS3+JS+jQuery)小白自学速成教程

001-网页编程技术介绍及HTML、CSS与JS三者之间的关系002-HTML_课程内容介绍及编辑器的使用003-HTML_HTML的基础语法004-HTML_常用标签_标题和水平线005-HTML_常用标签_段落和换行006-HTML_常用标签_列表007-HTML_常用标签_div和span008-HTML_常用标签_格式化标签009-HTML_常用标签_a标签010-HTML_常用标签_a标...

weixin_42465332的博客 328

2024年前端最全jQuery学习之旅 Item6 好用的each()_each item cat,2024年最新面试web前端有学历要求吗

如果你打算靠自己摸索自学,那么你首先要了解学习前端的基本大纲,这是你将要学习的主要内容,理解以及掌握好这些内容,便可以找到一份初级的前端开发工作。你还需要有一套完整的前端学习教程,作为初学者最好的方式就是看视频教程学习,初学者容易理解接受。不要选择买书学习,这样的方式没有几个人能学会,基本都是看不下去书,也看不懂书。如果喜欢看书的学弟,可以买一些经典的书籍作为辅助即可,主要还是以看教程为主。每天抽出固定几个小时学习,做好长期学习的准备。

2401_84435700的博客 1032
上一篇: XPath 自学教程
下一篇: CSS - (Cascading Style Sheets) 自学教程
高建伟-joe
博客等级 码龄6年 155粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高建伟-joe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值