关于java:js-JQUERY

59次阅读

共计 7118 个字符,预计需要花费 18 分钟才能阅读完成。

JS 介绍

​ JavaScript,简称 JS
​ JS 是一门嵌入在浏览器中执行的脚本语言(一段小程序)
​ 次要作用:用于实现网页中的动画成果和实现表单验证
​ JS 能够运行在服务器端(Node.js)

JS 的特点

​ JS 是一门直译式的语言(JS 不须要编译, 执行的就是源代码)
​ JS 是一门基于对象的语言(JS 能够通过某些机制模仿面向对象)
​ JS 是一门弱类型的语言(Java 是强类型)
​ Java: String str = “Hello World”;
​ JS: var str = “Hellow World”;
​ str = 100;
​ str = true;
​ str = [88,123,111];
​ alert(str);

JS 的劣势

​ JS 具备良好的交互性
​ JS 具备肯定的安全性(运行在浏览器外部)
​ JS 具备跨平台性
​ Java 语言具备跨平台性, 是因为有 JVM,JVM 跨平台吗?
​ JVM 不跨平台!
​ JS 语言具备跨平台性, 是因为有浏览器, 浏览器跨平台吗?
​ 浏览器不跨平台!

在 HTML 中引入 JS

形式一: 在 head 或者 body 外部能够增加一个 script 标签

    在 script 标签外部能够间接书写 JS 代码

<!-- 形式一: 在 script 标签外部间接书写 JS 代码
    type: 能够省略, 指定语言类型是 JS -->
<script type="text/javascript">
    // alert("Hello JS...111"); // 弹出一个正告框
    console.log("Hello JS...111"); // 输入内容到浏览器的控制台
</script>

形式二: 在 head 或者 body 外部能够增加一个 script 标签

在 script 标签通过 src 属性, 能够引入内部的 JS 文件

<!-- 形式二: 引入内部的 JS 文件 -->
<script src="js/demo.js"></script>

须要留神的是, 第二种形式 script 标签外部不要写 JS 代码, 写了也不会执行!
<script src="js/demo.js">
    console.log("Hello JS...333");// 不会执行!
</script>

形式三: 将 JS 代码写在标签上

<!-- 形式三: 将 JS 代码写在 html 中的标签上 -->
<input type="button" value="别点我~~~"
    onclick="alert(' 不让你点, 你非要点~~~')" />

JS 的语法

1、JS 的正文

// 单行正文
/* 多行正文 */

2、JS 数据类型
2.1. 根本数据类型

1)数值类型(number)
    在 JS 的底层, 所有的数值都是浮点型
    但在解决和显示的过程中, 如果能够显示为整型, 会主动的在整型和浮点型之间进行转换
    Infinity(正无穷大)
    -Infinity(正无穷大)
    NaN(Not a Number)非数值
    

2)字符串类型(string)
    JS 中的字符串类型是根本数据类型, 字符串能够应用双引号或者单引号引起来
    例如:
        var str1 = "Hello JS";
        var str2 = 'Hello JS';
        console.log(typeof str1); // string
        console.log(typeof str2); // string
    JS 中提供了字符串的包装对象 --String
        var str3 = new String("Hello JS");
        console.log(typeof str3); // object
    str1 和 str2 也能够当做对象应用, 在应用时, 和 str3 没有什么区别
    
3)布尔类型(boolean)
    布尔类型值: true 和 false

4)undefined
    undefined: 示意申明了变量, 然而没有为变量赋值, 该变量的值就是 undefined
    
5)null
    null: 示意空值, 能够作为函数的返回值, 示意函数返回的是一个空的对象

2.2. 简单数据类型

对象, 数组, 函数

JS 的变量申明

​ JS 中是通过 var 关键字申明变量, 通过 var 申明的变量不辨别类型, 能够指向任意的数据
​ var s1 = “Hello World”;
​ s1 = 123;
​ s1 = false;
​ s1 = [];
​ s1 = function(){}

JS 中有主动断句性能, 即便一行前面不加分号, 也能够失常执行, 然而倡议加上分号;
JS 中如果反复申明变量, 也不会报错, 因为 JS 中申明一个已存在的变量不会失效;
    var x = "abc"; //var x; x = "abc";
    var x = 123; //var x; x = 123;
    alert(x);

JS 的运算符

​ 算术运算符: +,-,*,/,%,++,–
​ 赋值运算符: =,+=,-=,*=,/=,%=
​ 比拟运算符: ==,!=,>,>=,<,<=
​ 位运算符: &,|
​ 逻辑运算符: &&,|| (false && 表达式, true || 表达式)
​ 前置逻辑运算符: ! (not)
​ 三元运算符: 表达式 ? 表达式 1 : 表达式 2
​。。。

JS 的语句

if 分支

if(){...}
    if(){...}else{...}
    if(){...}else if{...}else{...}

switch 分支

switch(){
        case opt1:
            代码块;
            break;
        case opt2:
            代码块;
            break;
        ...
        default:
            代码块;    
    }

循环构造

    for(){}
    while(){}
    do while(){}

JS 数组

​ JS 的数组申明形式:
​ // 申明一个空数组, 长度为零
​ var arr1 = [];
​ // 申明一个具备初始值的数组
​ var arr2 = [100,”abc”,false,new Date()];
​ // 申明一个空数组, 长度为零
​ var arr3 = new Array();
​ // 申明一个具备初始值的数组
​ var arr4 = new Array(100,”abc”,false,new Date());
​ // 指定长度的数组(只有一个参数并且是数值, 这个数值是长度)
​ var arr3 = new Array(10);

JS 数组的特点:
    1) JS 中的数组能够存储任意类型的数据
    2) JS 数组的长度能够被任意扭转

JS 函数

​ JS 的函数相当于 Java 中的办法
​ 就是一个具备性能的代码块, 通过函数名能够重复执行!

    申明形式 1:
        function 函数名([参数列表]){函数体...}

申明形式 2:
    var 变量 / 函数名 = function([参数列表]){函数体...}

JS 的 DOM 操作

​ DOM: Document Object Model, 文档对象模型
​ 其实就是 JS 专门为操作 html 元素所提供的一套 API。

获取 html 元素

1) document.getElementById(id 值);
    -- 通过元素的 id 属性值获取一个 html 元素,返回值就是这个元素所对应的 JS 对象

2) document.getElementsByTagName(标签名);
-- 通过元素名称, 获取该名称对应的所有元素组成的数组, 能够通过数组 [下标] 的模式获取其中的每一个元素, 也能够通过循环遍历。3) document.getElementsByClassName(class 值);
-- 通过元素的 class 属性值, 获取该 class 值对应的所有元素组成的数组, 能够通过数组 [下标] 的模式获取其中的每一个元素, 也能够通过循环遍历。4) ele.parentNode -- 获取以后元素的下级元素(父元素)

5) ele.innerHTML -- 获取元素的所有内容, 或者设置元素的内容(原内容会被笼罩)

6) ele.value -- 获取或设置表单项元素的 value 值

增删改查元素

1)创立一个 html 元素
document.createElement(元素名 / 标签名);
— 创立一个指定名称的元素, 返回值就是这个创立的元素所对应的 JS 对象
2) 增加子元素
parentEle.appendChild(childEle);
— 父元素调用办法增加一个子元素到父元素外部

3)删除子元素
parentEle.removeChild(childEle)
— 父元素调用办法删除外部的子元素

jQuery 概述

什么是 jQuery

​ jQuery:是一门轻量的、收费开源的 JS 函数库
​ jQuery 能够极大地简化 JS 代码
​ jQuery 核心思想: 写的更少, 但做的更多

轻量的:一个框架或者技术对咱们我的项目的侵入水平是非常低的(反过来说,咱们的我的项目或代码对该技术的依赖水平是非常低的)

jQuery 劣势

​ 1)能够极大地简化 JS 代码
​ 2) 能够像 CSS 选择器一样获取元素
​ 3) 能够通过批改 CSS 款式来管制页面的成果
​ 4) 能够兼容罕用浏览器(谷歌 / 火狐 / 苹果 / 欧朋)
​ …

如何引入 jQuery

​ 在 head 或 body 标签外部增加 script 标签, 通过 script 标签引入 jQuery 的函数库文件
​ <!– 引入 jQuery 的函数库文件 –>

    <script src="js/jquery-1.8.3.min.js"></script>

在引入 jQuery 函数库文件时,如果文件引入门路谬误,则会导致文件引入失败

文档就绪事件函数

​ 文档就绪事件函数: 该函数会在浏览器加载完所有的 html 元素后立刻执行

JS 提供的文档就绪函数:
    window.onload = function(){// 这里的代码会在浏览器加载完所有的 html 元素后立刻执行}
jQuery 提供的文档就绪函数:
简写模式:
$(function(){// 这里的代码会在浏览器加载完所有的 html 元素后立刻执行})
残缺写法:
$(document).ready(function(){// 这里的代码会在浏览器加载完所有的 html 元素后立刻执行});

3、什么时候该用文档就绪事件函数?
如果要获取元素, 获取元素的代码执行时, 元素还没有被浏览器加载, 必定是获取不到的!
此时, 能够将获取元素的代码放在文档就绪事件函数中, 因为这个函数是在浏览器加载完所有的 html 元素后立刻执行, 此时所有元素都曾经被加载了, 在这个函数中获取任何元素都能够获取到!

只有获取元素的代码是在元素加载后执行, 就能够获取(不论应用什么形式!)

jQuery 选择器

根本选择器

​ 1)元素名选择器
​ $(“div”) — 匹配所有的 div 元素
​ $(“span”) — 匹配所有的 span 元素
​ 2)class 选择器
​ $(“.mini”) — 匹配所有 class 值为 mini 的元素
​ $(“span.mini”) — 匹配所有 class 值为 mini 的 span 元素
​ 3)ID 选择器
​ $(“#one”) — 匹配 id 值为 one 的元素
​ 4) 多元素选择器
​ $(“div,span,.mini,#one”) — 匹配所有的 div, 所有的 span, 以及所有 class 为 mini, 以及 id 值为 one 的元素

层级选择器

1)后辈选择器

$("div span") -- 匹配所有 div 外部的 span 元素
$("#box1 input") -- 匹配 id 值为 box1 元素外部的所有 input 元素

2)相邻兄弟选择器

相邻兄弟: 如果两个元素是紧挨着, 并且具备雷同的父元素, 这两个元素就是相邻兄弟
能够通过相邻兄弟选择器选中前面紧邻的兄弟元素

    $("#two+span") -- 匹配 id 值为 two 的元素前面紧邻的 span 兄弟元素
    $("#two").next("span") -- 匹配 id 值为 two 的元素前面紧邻的 span 兄弟元素
    $("#two").prev("span") -- 匹配 id 值为 two 的元素后面紧邻的 span 兄弟元素
    $("#two").nextAll() -- 匹配 id 为 two 的元素前面所有的兄弟元素
    $("#two").nextAll("div") -- 匹配 id 为 two 的元素前面所有的 div 兄弟元素
    $("#two").prevAll("div") -- 匹配 id 为 two 的元素后面所有的 div 兄弟元素
    $("#two").siblings("div") -- 匹配 id 为 two 的元素前、后所有的 div 兄弟元素

3、根本过滤选择器

依据下标匹配元素:
    $("div:eq(n)") -- 示意匹配所有 div 中的第 n + 1 个 div 元素
    $("div:first") -- 匹配所有 div 中的第一个 div 元素
    $("div:eq(0)") -- 匹配所有 div 中的第一个 div 元素
    $("div:last") -- 匹配所有 div 中的最初一个 div 元素
    $("div:eq(-1)") -- 匹配所有 div 中的最初一个 div 元素

4、表单选择器

    $(":input") -- 匹配所有的表单项元素(包含 input、select、textarea、button)
    $(":text") -- 匹配所有一般文本输入框
    $(":password") -- 匹配所有明码输入框
    $(":radio") -- 匹配所有单选框
    $(":checkbox") -- 匹配所有复选框
$(":radio:checked") -- 匹配所有被选中的单选框
$(":checkbox:checked") -- 匹配所有被选中的复选框

5、补充:

JS 为 b1 按钮绑定点击事件
    document.getElementById("b1").onclick = function(){alert("b1 按钮被点击了...");
    }
Jquery
    $("#b1").onlick = function(){alert("b1 按钮被点击了.....");
    }

jQuery 总结

each 函数

​ each 函数: 对后面抉择所选中的元素进行遍历, 每次从中获取一个元素, 并调用其中的 function
​ each 中的 function 函数: 每次 each 函数从选择器中获取元素后都会调用该函数,
​ 能够接管两个参数: 第一个参数是以后遍历的元素的下标;
​ 第二个参数是以后正在遍历的元素(JS 对象);

    $("table tr").each(function(i,ele){//...})

html 元素操作

​ (1)创立 html 元素

        $("<div></div>") -- 创立一个 div 元素, 返回一个 jQuery 对象
        $("<div> 这是一个 div 元素 </div>") -- 创立一个蕴含内容的 div 元素, 返回一个 jQuery 对象
        $("<input type='text'/>") -- 创立文本输入框, 返回一个 jQuery 对象

(2)增加子元素 -- append()
    $("body").append("<table><tr><td> 这是一个 td 元素 </td></tr></table>");
    -- 往 body 中增加一个表格元素
    
    var $div = $("<div> 这是一个 div 元素 </div>");
    $("body").append($div) -- 往 body 中增加一个 div 元素
    
(3)删除元素 -- remove()
    $("div").remove() -- 删除所有匹配的 div 元素

(4)替换元素 -- replaceWith()
    $("div").replaceWith("<p> 我是来替换 div 的 p 元素!!</p>")

html 内容及值的操作

​ <div>div111</div>
​ <input type=”text”/>
​ <select>…</select>

html()函数 -- 获取元素的所有内容(包裹在开始标签和完结标签中的所有内容)
    如果通过选择器匹配了多个元素, 只能获取第一个元素的内容
    html()函还能够设置元素的内容, 如果通过选择器匹配了多个元素, 则会给所有元素设置内容
    -- 在 js 中对应的是 innerHTML 属性
    
text()函数 -- 获取元素中的所有文本内容(值获取文本, 不获取标签)
    如果通过选择器匹配了多个元素, 能够将所有元素外部的文本都返回
    text()函数还能够为元素的设置文本内容(只能设置文本)
    -- 在 js 中对应的是 innerText 属性(这个属性在局部浏览器中不兼容)

val()函数 -- 获取表单项元素的 value 值 或者是 为表单项元素设置 value 值
    表单项元素: input/select/option/textarea

html 元素属性或者 css 属性操作

​ prop()函数 — 获取元素的某一个属性值, 或者为元素设置属性值
​ attr() 函数 — 能够获取元素的属性值, 或者为元素设置属性值
​ prop() 和 attr()的区别:
​ (1) prop 函数是在 jquery1.6 版本之后才呈现, 用于获取或设置元素的属性 (固有属性) 值,
​ 比方: input 元素的 id,class,name,type 等属性都是固有属性
​ 比方: 为 input 指定一个 aaa 属性, 这个叫做自定义属性
​ attr 函数是在 jquery1.6 版本之前就有的函数, 用于获取或设置元素的属性(自定义属性) 值
​ css()函数 — 能够获取或设置元素的 css 款式

动画函数

​ show() — 设置元素为显示状态, 等价于 css(“display”, “block|inline”);
​ hide() — 设置元素为暗藏状态, 等价于 css(“display”, “none”);
​ toggle() — 切换元素的显示状态, 如果元素自身是显示的, 则会变成暗藏状态, 如果元素自身是暗藏的, 则会变成显示状态

slideToggle() -- 切换元素的显示状态, 如果元素自身是显示的, 则会变成暗藏状态, 如果元素自身是暗藏的, 则会变成显示状态

parent()/parents()/find()

​ parent() — 获取以后元素的父元素, 相似于 js 中的 parentNode 属性
​ parents() — 获取以后元素的所有的先人元素
​ $(“:checked”).parent().parent();
​ $(“:checked”).parents(“tr”)

find() -- 获取以后元素外部指定的后辈元素
$("div").find("span") -- 获取所有 div 元素外部的 span 元素
$("div span") -- 获取所有 div 元素外部的 span 元素

正文完
 0