IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【博学谷学习记录】超强总结,用心分享|jQuery(二) -> 正文阅读

[JavaScript知识库]【博学谷学习记录】超强总结,用心分享|jQuery(二)

目录

jQuery属性操作

元素固有属性prop()

元素自定义式属性attr()

数据缓存data()

jQuery文本属性值

jQuery内容文本值

jQuery元素操作

遍历元素

创建,添加,删除

jQuery尺寸,位置操作

jQuery尺寸操作

jQuery位置操作


jQuery属性操作

元素固有属性prop()

所谓元素固有属性就是元素本身自带的属性,比如元素里面的href,比如元素里面的type。

1.获取属性语法

prop("属性")

2.设置属性语法

prop("属性","属性值")

注:prop()除了普通属性操作,更适合操作表单属性:disabled/checked/selected等。

元素自定义式属性attr()

用户给自己元素增加的属性,我们称为自定义属性,比如给div增加index="1"。

1.获取属性语法

attr("属性")

2,.设置属性语法

attr("属性","属性值")

数据缓存data()

data()方法可以在指定元素上存取数据,并不会修改DOM元素结构,一旦页面刷新,之前存放的数据将都被移除。

1.附加数据语法

data("name","value")

2.获取数据语法

data("name")

注:同时,还可以读取HTML5自定义属性data-ndex,得到的是数字型。

<a href="http://www.itcast.cn" title="都挺好">都挺好</a>
<input type="checkbox" name="" id="" checked>
<div index="1" data-index="2">我是div</div>
<span>123</span>
<script>
    $(function() {
        //1. element.prop("属性名") 获取元素固有的属性值
        $("a").prop("title", "我们都挺好");
        $("input").change(function() {
            console.log($(this).prop("checked"));
        });
        // 2. 元素的自定义属性 我们通过 attr()
        $("div").attr("index", 4);
        console.log($("div").attr("data-index"));
        // 3. 数据缓存 data() 这个里面的数据是存放在元素的内存里面
        $("span").data("uname", "andy");
        console.log($("span").data("uname"));
        // 这个方法获取data-index h5自定义属性 第一个 不用写data-  而且返回的是数字型
        console.log($("div").data("index"));
    })
</script>

jQuery文本属性值

jQuery的文本属性值常见操作有三种:html()/text()/val();分别对应js中的innerHTML()、innerText()和value属性。

jQuery内容文本值

常见操作有三种:html()/text()/val();分别对应js中的innerHTML()、innerText()和value属性,主要针对元素的内容还有表单的值操作。

1.普通元素内容html()(相当于原生inner HTML)

html()  //获取元素的内容
html("内容")   //设置元素的内容

2.普通元素文本内容text()(相当于原生inner Text)

text()   //获取元素的文本内容
text("文本内容")   //设置元素的文本内容

3.表单的值val()(相当于原生value)

val()   //获取表单的值
val("内容")   //设置表单的值
<div>
    <span>我是内容</span>
</div>
<input type="text" value="请输入内容">
<script>
    // 1. 获取设置元素内容 html()
    console.log($("div").html());
    // 2. 获取设置元素文本内容 text()
    console.log($("div").text());
    $("div").text("123");
    // 3. 获取设置表单值 val()
    console.log($("input").val());
    $("input").val("123");
</script>

jQuery元素操作

jQuery元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。

遍历元素

jQuery隐式迭代是对同一类元素做了同样的操作,如果想要给同一类元素做不同操作,就需要用到遍历。

语法1

$("div").each(function (index,domEle) { xxx; }}

1.each()方法便利匹配的每一个元素,主要用DOM处理,each每一个

2.里面的回调函数有两个参数:index是每一个元素的索引号;demEle是每个DOM元素对象,不是jquery对象

3.所以要想使用jquery方法,需要给这个dom元素转换为jquery对象

语法2

$.each(object,function (index,element) { xxx; }}

1.$.each()方法可用于遍历任何对象,主要用于数据处理,比如数组,对象

2.里面的函数有两个参数:index是每个元素的索引号;element遍历内容

<div>1</div>
<div>2</div>
<div>3</div>
<script>
    $(function() {
        var sum = 0;
        // 1. each() 方法遍历元素 
        var arr = ["red", "green", "blue"];
        $("div").each(function(i, domEle) {
            // 回调函数第一个参数一定是索引号  可以自己指定索引号号名称
            // 回调函数第二个参数一定是 dom元素对象 也是自己命名
            $(domEle).css("color", arr[i]);
            sum += parseInt($(domEle).text());
        })
        console.log(sum);
        // 2. $.each() 方法遍历元素 主要用于遍历数据,处理数据
        $.each({
            name: "andy",
            age: 18
        }, function(i, ele) {
            console.log(i);
            console.log(ele);
        })
    })
</script>

创建,添加,删除

1.创建

$("<li></li>");

动态的创建了一个li标签。

2.内部添加

element.append("内容")

把内容放入匹配元素内部最后面,类似原生appendChild。

element.prepend("内容")

把内容放入匹配元素内部最前面。

3.外部添加

element.after("内容")
elememt.before("内容")

内部添加元素生成之后他们是父子关系,外部添加元素生成之后他们是兄弟关系。

4.删除元素

element.remove()
element.empty()
element.html("")

(1)remove删除元素本身

(2)empty()和html()作用等价,都可以删除元素里面的内容,只不过HTML还可以设置内容。

<ul>
    <li>原先的li</li>
</ul>
<div class="test">我是原先的div</div>
<script>
    $(function() {
        // 1. 创建元素
        var li = $("<li>我是后来创建的li</li>");
        // 2. 添加元素
        // (1) 内部添加
        $("ul").append(li);  //内部添加并且放到内容的最后面 
        $("ul").prepend(li); // 内部添加并且放到内容的最前面
        // (2) 外部添加
        var div = $("<div>我是后妈生的</div>");
        $(".test").before(div);
        // 3. 删除元素
        // $("ul").remove(); 可以删除匹配的元素 自杀
        // $("ul").empty(); // 可以删除匹配的元素里面的子节点 孩子
        $("ul").html(""); // 可以删除匹配的元素里面的子节点 孩子
    })
</script>

jQuery尺寸,位置操作

jQuery中分别为我们提供了两套快速获取和设置元素尺寸和位置的API,方便应用。

jQuery尺寸操作

jQuery尺寸操作包括元素宽高的获取和设置,且不一样的API对应不一样的盒子模型。

语法用法
width()/height()获取匹配元素宽高值 只算width/height
innerWidth()/innerHheight()获取匹配元素宽高值 包含padding
outerWidth()/outerHeight()获取匹配元素宽高值 包含padding、border
outerWidth(true)outer/Height(true)获取匹配元素宽高值 包含padding、border、margin

以上参数为空,则是获取相应值,返回的是数字型;如果参数为数字,则是修改相应值参数;可以不必写单位。

<div></div>
<script>
    $(function() {
        // 1. width() / height() 获取设置元素 width和height大小 
        console.log($("div").width());
        // 2. innerWidth() / innerHeight()  获取设置元素 width和height + padding 大小 
        console.log($("div").innerWidth());
        // 3. outerWidth()  / outerHeight()  获取设置元素 width和height + padding + border 大小 
        console.log($("div").outerWidth());
        // 4. outerWidth(true) / outerHeight(true) 获取设置 width和height + padding + border + margin
        console.log($("div").outerWidth(true));
    })
</script>

jQuery位置操作

jQuery的位置操作主要有三个offset()、position()、scollTop()/scollLeft()。

1.offset设置或获取元素偏移。

(1)offset()方法设置或返回被选元素相对于文档的偏移坐标,跟父级没有关系

(2)该属性有2个属性left、top:offset.top用于获取距离文档顶部的距离,offset.left用于获取距离文档左侧的距离

(3)可以设置元素的偏移offset({top:10.left:30})

2.position获取元素偏移

(1)position()方法用于返回备选元素相对于带有定位的父极偏移坐标,如果父极都没有定位,则以文档为准

(2)该方法有两个属性:left、top:position.top用于获取距离定位父亲级顶端的距离,position.left用于获取距离定位父极左侧的距离

(3)该方法只能获取

3.scollTop()/scollLeft()设置或获取元素被卷去的头部和左侧

(1)scollTop()方法设置或返回被选元素被卷去的头部

(2)不跟参数是获取,参数为不带单位的数字则是设置被卷去的头部

<style>
    * {
        margin: 0;
        padding: 0;
    }
    
    .father {
        width: 400px;
        height: 400px;
        background-color: pink;
        margin: 100px;
        overflow: hidden;
        position: relative;
    }
    
    .son {
        width: 150px;
        height: 150px;
        background-color: purple;
        position: absolute;
        left: 10px;
        top: 10px;
    }
</style>

<div class="father">
    <div class="son"></div>
</div>
<div class="back">返回顶部</div>
<div class="container"></div>
<script>
    $(function() {
        // 1. 获取设置距离文档的位置(偏移) offset
        console.log($(".son").offset());
        console.log($(".son").offset().top);
        // 2. 获取距离带有定位父级位置(偏移) position
        console.log($(".son").position());
        $(document).scrollTop(100);
        // 被卷去的头部 scrollTop()  / 被卷去的左侧 scrollLeft()
        var boxTop = $(".container").offset().top;
        $(window).scroll(function() {
            console.log($(document).scrollTop());
            if ($(document).scrollTop() >= boxTop) {
                $(".back").fadeIn();
            } else {
                $(".back").fadeOut();
            }
        });
        // 返回顶部
        $(".back").click(function() {
            $("body, html").stop().animate({
                scrollTop: 0
            });
        })
    })
</script>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 00:43:36  更:2022-09-30 00:44:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 16:44:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码