jQuery基础知识点(DOM操作)

时间:2022-09-02 18:31:53

1、样式属性操作

    1)设置样式属性操作
        ①设置单个样式:
// 第一个参数表示:样式属性名称
// 第二个参数表示:样式属性值
$(selector).css(“color”, “red”);

②设置多个样式(也可以设置单个)

// 参数为 {}(对象)
$(selector).css({“color”: “red”, “font-size”: “30px”});

2)获取样式属性操作

// 参数表示要获取的 样式属性名称
$(selector).css(“font-size”);

2、类操作

    1)添加类样式
        ——addClass(className)为指定元素添加类className
$(selector).addClass(“liItem”); //此处类型不带点,所有类操作的方法类名都不带点
2)移除类
        ——removeClass(className)为指定元素移除类className
$(selector).removeClass(“liItem”);
$(selector).removeClass(); //不指定参数,表示移除被选中元素的所有类
   3)判断有没有类样式
        ——hasClass(className)判断指定元素是否包含类className
$(selector).hasClass(“liItem”);  //返回值为true或false
 4)切换类样式
        ——toggleClass(className)为指定元素切换类className,该元素有类则移除,没有指定类则添加
$(selector).hasClass(“liItem”);
【注意】
    1、操作类样式的时候,所有的类名都不带点(.)
    2、操作的样式非常少,那么可以通过.css()这个方法来操作
    3、操作的样式很多,那么要通过使用类的方式来操作
    4、如果考虑以后维护方便(把CSS从js中分离出来)的话,推荐使用类的方式来操作。类比CSS书写位置(把CSS从html中分离出来)
关键字:简约、粗暴、干净利落、直截了当

3、jQuery动画

    3.1隐藏显示动画
        ①show方法
jQuery基础知识点(DOM操作)
// 用法一:
// 参数为数值类型,表示:执行动画时长
/* 单位为:毫秒(ms),参数2000表示动画执行时长为2000毫秒,即2秒钟 */
$(selector).show(2000); // 用法二:
// 参数为字符串类型,是jQuery预设的值,共有三个,分别是:slow、normal、fast
/* 跟用法一的对应关系为: */
/* slow:600ms、normal:400ms、fast:200ms */
$(selector).show(“slow”); // 用法三:
// 参数一可以是数值类型或者字符串类型
// 参数二表示:动画执行完后立即执行的回调函数
$(selector).show(2000, function() {}); // 用法四:
// 不带参数,作用等同于 css(“display”, ”block”)
/* 注意:此时没有动画效果 */
$(selector).show();
jQuery基础知识点(DOM操作)

【注意】:jQuery预设的三组动画效果的语法几乎一致:参数可以有两个,第一个是动画的执行时长,第二个是动画执行完成后的回调函数。

    第一个参数可以是:指定字符或者毫秒数

        ②hide方法
$(selector).hide(1000);
$(selector).hide(“slow”);
$(selector).hide(1000, function(){});
$(selector).hide();
    3.2 滑入滑出动画
        ①滑入动画效果
$(selector).slideDown(speed,callback);
// 注意:省略参数或者传入不合法的字符串,那么则使用默认值:400毫秒(同样适用于fadeIn/slideDown/slideUp)
$(selector).slideDown();

②滑出

// 作用:让元素以上拉动画效果隐藏起来
$(selector).slideUp(speed,callback);

③滑入滑出切换动画效果

$(selector).slideToggle(speed,callback);
// 参数等同与"隐藏和显示"

4、淡入淡出动画

       ①淡入动画效果
// 作用:让元素以淡淡的进入视线的方式展示出来
$(selector).fadeIn(speed, callback);

②淡出

// 作用:让元素以渐渐消失的方式隐藏起来
$(selector).fadeOut(1000);

③淡入淡出切换动画效果

// 作用:通过改变不透明度,切换匹配元素的显示或隐藏状态
$(selector).fadeToggle('fast',function(){});
// 参数等同与"隐藏和显示"
   ④改变不透明度到某个值

——与淡入淡出的区别:淡入淡出只能控制元素的不透明度从 完全不透明 到完全透明;而fadeTo可以指定元素不透明度的具体值;并且时间参数是必需的!

jQuery基础知识点(DOM操作)
//  作用:调节匹配元素的不透明度
// 用法有别于其他动画效果
// 第一个参数表示:时长
// 第二个参数表示:不透明度值,取值范围:0-1
$(selector).fadeTo(1000, .5); // 0全透,1全不透 // 第一个参数为0,此时作用相当于:.css(“opacity”, .5);
$(selector).fadeTo(0, .5);
jQuery基础知识点(DOM操作)

jQuery提供的这几个动画效果控制的CSS属性包括:高度、宽度、不透明度。{height:400px; width:300px; opacity:.4;}

这三个CSS属性的共性是:属性值只有一个,并且这个值是数值(去掉单位后)。

5、自定义动画

注意:所有能够执行动画的属性必须只有一个数字类型的值。

比如:要改变字体大小,要使用:fontSize(font-size),不要使用:font

动画支持的属性:http://www.w3school.com.cn/jquery/effect_animate.asp

//  作用:执行一组CSS属性的自定义动画
// 第一个参数表示:要执行动画的CSS属性(必选)
// 第二个参数表示:执行动画时长(可选)
// 第三个参数表示:动画执行完后立即执行的回调函数(可选)
$(selector).animate({params},speed,callback);

6、停止动画 stop()

6.1 作用:停止当前正在执行的动画

6.2 为什么要停止动画?

如果一个以上的动画方法在同一个元素上调用,那么对这个元素来说,后面的动画将被放到效果队列中。这样就形成了动画队列。(联想:排队进站)

动画队列里面的动画不会执行,直到第一个动画执行完成。

// 第一个参数表示是否清空所有的后续动画
// 第二个参数表示是否立即执行完当前正在执行的动画
$(selector).stop(clearQueue,jumpToEnd);
// 常用方式
$(selector).stop();

解释:

当调用stop()方法后,队列里面的下一个动画将会立即开始。但是,如果参数clearQueue被设置为true,那么队列面剩余的动画就被删除了,并且永远也不会执行。

如果参数jumpToEnd被设置为true,那么当前动画会停止,但是参与动画的每一个CSS属性将被立即设置为它们的目标值。比如:slideUp()方法,那么元素会立即隐藏掉。如果存在回调函数,那么回调函数也会立即执行。

注意:如果元素动画还没有执行完,此时调用sotp()方法,那么动画将会停止。并且动画没有执行完成,那么回调函数也不会被执行。

7、jQuery节点操作

    7.1 动态创建元素
// $()函数的另外一个作用:动态创建元素
var $spanNode = $(“<span>我是一个span元素</span>”);
 7.2 添加元素(重点)

①在元素的最后一个子元素后面追加元素:append()重点

②作用:在被选元素内部的最后一个子元素(或内容)后面插入内容(页面中存在或者创建出来的元素都可以)

如果是页面中存在的元素,那么调用append()后,会把这个元素从原先的位置移除,然后再插入到新的位置。

如果是给多个目标追加一个元素,那么append()方法的内部会复制多份这个元素,然后追加到多个目标里面去。(最好不要这么做)

③常用参数:htmlString 或者 jQuery对象

// 在$(selector)中追加$node
$(selector).append($node);
// 在$(selector)中追加div元素,参数为htmlString
$(selector).append('<div></div>');

(了解)不常用操作:(用法跟append()方法基本一致)

jQuery基础知识点(DOM操作)
// appendTo()
//作用:同append(),区别是:把$(selector)追加到node中去
$(selector).appendTo(node); // prepend()
//作用:在元素的第一个子元素前面追加内容或节点
$(selector).prepend(node); // after()
//作用:在被选元素之后,作为兄弟元素插入内容或节点
$(selector).after(node); // before()
//作用:在被选元素之前,作为兄弟元素插入内容或节点
$(selector).before(node);
jQuery基础知识点(DOM操作)
7.3 html创建元素(推荐,重点)

①作用:设置或返回所选元素的html内容(包括 HTML 标记)

②设置内容的时候,如果是html标记,会动态创建元素,此时作用跟js里面的 innerHTML属性相同

// 动态创建元素
$(selector).html(‘<span>大方啊</span>’);
// 获取html内容
$(selector).html();

7.4 清空元素

// 清空指定元素的所有子元素(光杆司令)
// 没有参数
$(selector).empty();
$(selector).html(“”);
// “自杀” 把自己(包括所有内部元素)从文档中删除掉
$(selector).remove();

7.5 复制元素

//作用:复制匹配的元素
// 复制$(selector)所匹配到的元素
// 返回值为复制的新元素
$(selector).clone();

【总结】:推荐使用html(“<span></span>”)方法来创建元素或者html(“”)清空元素

8、操作form表单(重点)

    8.1属性操作

①设置属性:

// 第一个参数表示:要设置的属性名称
// 第二个参数表示:改属性名称对应的值
$(selector).attr(“title”, “小花啊”);

②获取属性:

// 参数为:要获取的属性的名称,改操作会返回指定属性对应的值
$(selector).attr(“title”); // 此时,返回指定属性的值

③移除属性:

// 参数为:要移除的属性的名称
$(selector).removeAttr(“title”);

【注意】:checked、selected、disabled要使用.prop()方法。

prop方法通常用来影响DOM元素的动态状态,而不是改变的HTML属性。例如:input和button的disabled特性,以及checkbox的checked特性。

细节参考:http://api.jquery.com/prop/

    8.2 值和内容

①val()方法:

// 作用:设置或返回表单元素的值,例如:input,select,textarea的值
// 获取匹配元素的值,只匹配第一个元素
$(selector).val();
// 设置所有匹配到的元素的值
$(selector).val(“具体值”);

②text() 方法

// 作用:设置或获取匹配元素的文本内容
//获取操作不带参数(注意:这时候会把所有匹配到的元素内容拼接为一个字符串,不同于其他获取操作!)
$(selector).text();
//设置操作带参数,参数表示要设置的文本内容
$(selector).text(“我是内容”);

9、尺寸位置操作

    9.1 高度和宽度操作

①高度操作height() :

// 作用:设置或获取匹配元素的高度值
//带参数表示设置高度
$(selector).height(200);
//不带参数获取高度
$(selector).height();

②宽度操作width() :

// 作用:设置或获取匹配元素的宽度值
//带参数表示设置宽度
//不带参数获取宽度
$(selector).width(200);

css()获取高度和height获取高度的区别?

A:方式一,返回值number类型,例如:30
  方式二,返回值string类型,例如:“30px”

  区别:方式一常用在参与数学计算的情况。
 

9.2 坐标值操作

①offset()

//  作用:获取或设置元素相对于文档左上角的位置
// 无参数表示获取,返回值为:{left:num, top:num},值是相对于document的位置
$(selector).offset();
// 有参数表示设置,参数推荐使用数值类型
$(selector).offset({left:100, top: 150});

注意点:设置offset后,如果元素没有定位(默认值:static),则被修改为relative

②scrollTop()

、、作用:获取或者设置元素垂直方向滚动的位置
// 无参数表示获取偏移
$(selector).scrollTop(); // 有参数表示设置偏移,参数为数值类型
$(selector).scrollTop(100);

③scrollLeft()

// 作用:获取或者设置元素水平方向滚动的位置
$(selector).scrollLeft(100);

对scrollTop的理解:

垂直滚动条位置 是可滚动区域 在 可视区域上方的 被隐藏区域的高度。

如果滚动条在最上方没有滚动 或者 当前元素没有出现滚动条,那么这个距离为0

jQuery基础知识点(DOM操作)的更多相关文章

  1. Jquery基础之DOM操作

    转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...

  2. JQuery中的DOM操作

    JQuery中有很多DOM操作,但是因为之前没有总结过,所以用来用去都是那几个,一写html中的表单交互,尤其是那些复杂的表单交互,就是一大坨的js,我自己看着都费劲. 所以我感觉有必要总结一下 &l ...

  3. jQuery选择器和DOM操作——《锋利的jQuery》(第2版)读书笔记1

    第1章 认识jQuery jQuery有以下优势: 轻量级: 强大的选择器: 出色的DOM操作的封装: 可靠的事件处理机制: 完善的Ajax: 不污染*变量: 出色的浏览器兼容性: 链式操作方式: ...

  4. dom core&comma;html dom&comma;css dom&comma;jquery 中的dom操作

    前端开发中为达到某种目的,往往有很多方法:dom core,html dom,jquery; dom core/jquery主要通过函数调用的方式(getAttribute("属性名&quo ...

  5. jQuery中的DOM操作&lt&semi;思维导图&gt&semi;

    DOM是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口.使用该接口可以轻松地访问页面中所有的标准组件.简单来说,DOM解决了Netsc ...

  6. Jquery:jquery中的DOM操作&lt&semi;一&gt&semi;

    之前两天学习了Jquery强大的选择器,今天学习了一部分Jquery对DOM的操作,下面我将把自己今天的成果分享给大家,那些菜鸟们,你们是否需要巩固之前所学? 首先需要知道,DOM操作分为3个方面:D ...

  7. jQuery中的DOM操作总结

    jQuery中的DOM操作 DOM是Document Object Medel的缩写,它的意思是文档对象模型,根据W3C的官方说法,DOM是一种跟浏览器,平台以及语言都没有关系的一种规范,也就是一种接 ...

  8. jQuery中的DOM操作《思维导图》

    首先,是关于jQuery中的DOM操作的<思维导图>,请点击这里:jQuery中的DOM操作 列表框的左右选项移动 <html> <head> <title& ...

  9. JavaWeb学习笔记——jquery中的dom操作

     jquery中的dom操作 废话不说:直接上例子: 1.添加节点-html页面 Append:向每个匹配的元素内部追加内容. <body> <ul id="city& ...

  10. &lbrack;转&rsqb;jQuery 选择器和dom操作

    居然是12年的总结.... 文章地址: http://www.cnblogs.com/happyPawpaw/articles/2595092.html JQuery选择器 1.基本选择器 基本选择器 ...

随机推荐

  1. 第11章 Linux服务管理

    1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...

  2. IE8中给HTML标签负值报错问题

    当通过JS给一个HTML标签设置高宽为负值的时候,会爆出一个“参数无效”的错误 chrome下不会报错,但是元素不会做任何关于负值的改变

  3. html初学(三)

    <!-- 我就是我,不一样的烟花 piu piu piu 干啥子 如来神掌 -- --- ----- .======. ***********啊啊啊啊啊啊 | INRI | | | | | .= ...

  4. 第4章 管道和FIFO

    4.1 管道 管道是由pipe函数创建的,提供一个单向数据流. 头文件 #include <unistd.h> 函数原型 int pipe(int fd[2]); 返回值 成功则为0,出错 ...

  5. Java Day 11

    异常 Throwable 子类 Error.Exception  Error - 不可以处理 Exception - 针对性处理 原理 自定义异常 异常类的抛出throws 先检查语法错误,后检查逻辑 ...

  6. EntityFramework 插件之EntityFramework&period;Extended &lpar;批量处理&rpar;

    接手了一个用EF来做的项目,由于项目中使用的原生处理,导致很多update都是采用先select 后 update的方式来实现,同时无法批量执行逻辑如:根据订单类型统一更新状态等.所以在经过了N多查找 ...

  7. AngularJS自定义表单验证

    <!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...

  8. QML Object Attributes QML对象属性

    QML Object Attributes Every QML object type has a defined set of attributes. Each instance of an obj ...

  9. Java并发编程基础——同步

    一.synchronized 关键字 1)synchronized 锁什么?锁对象.可能锁对象包括: this, 临界资源对象,Class 类对象.如同下面例子所示: package cn.test. ...

  10. mybatis 代码生成器(IDEA&comma; Maven&rpar;及配置详解(部分配置你应该不知道)

    目录 1 创建代码生成器 1.1 创建Maven项目 1.2 配置 generator.xml 1.3 配置 pom.xml 1.4 使用及测试 2 XML 配置详解 2.1 优先 2.2 官网没有的 ...