主要内容:

  1、jQuery属性操作

  2、jQuery文档操作

一、jQuery属性操作

  1、什么是jQuery的属性操作?

    jQuery的属性操作模块包括四个部分:html属性操作,dom属性操作,类样式操作和值操作。

    (1)html 属性操作   

对html文档中的属性进行读取,设置和移除操作。例如:attr(),removeAttr().

    (2) DOM属性操作

对DOM元素的属性进行读取,设置和移除操作。例如:prop(),removeProp().

    (3) 类样式操作

对DOM属性className进行添加,移除操作。例如:addClass(),removeClass(),toggleClass().

    (4) 值操作

对DOM属性value进行读取和设置操作。例如:html(),text(),val().

  2、html属性操作实例解析

    所谓html属性操作,更直白地说就是获取页面标签,l例如:attr()、removeAttr()等。

    实例一:attr() --- 设置属性值或者被选中元素的属性值   

$(document).ready(function(){
// attr() 设置一个属性值的时,只是获取值
var id = $("div").attr("id");
console.log(id); $("button").click(function(){
$("#box p").text($("#box").attr("id")); // attr()如果设置两个值,表示设置属性
// 1、设置一个值,比如设置div的class为box2
$("#box").attr("class","box2");
// 2、设置多个值时,使用对象存储,参数为对象,键值对存储(如果设置多个类名,不能使用attr())
$("#box").attr({"class":“cc”,name:"匆匆"});
})
})

    完整代码: 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的属性操作</title>
</head>
<body>
<div id="box" class="foo">
<p>hello,暮光微凉...</p>
</div>
<span>我是一个span标签</span>
<button class="btn">点我</button>
<div id="box2">
<p>hello,everyone</p>
<button id="btn2">Get</button>
</div>
</body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript"> $(document).ready(function () {
//HTML属性操作(即获取页面标签)
// attr():设置属性值或者被选元素的属性值
// 获取值:attr() 设置一个属性值的时候,只是获取值
var id = $('div').attr('id');
console.log(id);
$('button').click(function () {
$('#box p').text($('#box').attr('id'));
});
// attr()如果设置两个值,表示设置属性
// 1、设置一个值,设置div的class为box2
$('div').attr('class','box2');
// 2、设置多个值时,使用对象存储,参数为对象,键值对存储;如果设置多个类名,不能使用attr()
$('#box').attr({'class':'foo2',name:'匆匆'});
}) </script>
</html>

    实例二:removeAttr() --- 从匹配的元素中删除一个属性    

$(document).ready(function(){
// 删除一个属性
$("#box").removeAttr("class"); // 同时删除多个属性时,中间以空格隔开
$("#box").removeAttr("class name"); // 查看是否删除
console.log($("#box").attr("class")); // underfined
})

    完整代码:  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的属性操作</title>
</head>
<body>
<div id="box" class="foo">
<p>hello,暮光微凉...</p>
</div> </body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript"> $(document).ready(function () {
$('#box').removeAttr('class');
$('#box').removeAttr('class name'); // 同时删除 class和name
console.log($('#box').attr('class')); // undefined
}) </script>
</html>

  3、DOM属性操作

    对DOM元素的属性进行读取,设置和移除操作。例如:prop()、removeProp()等。

    实例一:porp() --- 获取匹配的元素集中的第一个元素的属性值,它是对当前匹配到的DOM对象设置属性。    

$(document).ready(function(){
// 获取属性值
console.log($("li").prop("class")); // one // 设置值
$("li:eq(0)").prop({"user":"cc","name2":"cc2"}); // li:eq(0)表示获取到第一个li标签
//$("li").first().prop({"user":"cc","name2":"cc2"}); // .first()作用同上
// 查看设置的属性值
console.log($("li:eq(0)"))
// console.log($('li').first()); // 同上
})

    完整代码:    

<!DOCYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的属性操作</title>
</head>
<body>
<div id="box" class="foo">
<p>hello,暮光微凉...</p>
</div>
<ul>
<li class="one">暮光微凉1号</li>
<li class="two">暮光微凉2号</li>
<li class="three">暮光微凉3号</li>
<li class="four">暮光微凉4号</li>
</ul>
</body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript"> $(document).ready(function () {
// DOM属性操作
// prop():获取在匹配的元素集中的第一个元素的属性值.它是对当前匹配到的dom对象设置属性。
console.log($('li').prop('class')); // one
//设置值
$('li:eq(0)').prop({'user':'cc','name2':'cc2'});
console.log($("li:eq(0)"));
$('li').first().prop({'user':'cc','name2':'cc2'});
console.log($('li').first());
}) </script>
</html>

    实例二:removeProp() --- 删除由.Prop() 方法设置的属性值

$(document).ready(function(){
// removeProp() 删除.prop()方法设置的属性集
// 先查看一下
console.log($("li:eq(0)").prop("user")) ; // cc
$("li:eq(0)").removeProp("user");
console.log($("li").first().prop("user")); // underfined
})

    完整代码: 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的属性操作</title>
</head>
<body>
<div id="box" class="foo">
<p>hello,暮光微凉...</p>
</div>
<ul>
<li class="one">暮光微凉1号</li>
<li class="two">暮光微凉2号</li>
<li class="three">暮光微凉3号</li>
<li class="four">暮光微凉4号</li>
</ul>
</body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript"> $(document).ready(function () {
// removeAttr():从每一个匹配的元素中删除一个属性
$('#box').removeAttr('class');
$('#box').removeAttr('class name'); // 同时删除 class和name
</script>
</html>

  4、类样式操作

   类样式操作是对DOM属性className进行添加,移除操作。例如:addClasss()、removeClass()、toggleClass()。

   实例:  

  // 类样式操作:
// addClass() removeClass()
$('span').addClass('span2 span3'); // 可同时添加多个或删除多个类标签
$('span').removeClass('span3');
var isBig = true;
$('span').click(function(){
if(isBig){
$(this).addClass('active'); // 点击放大
isBig = false;
}
else{
$(this).removeClass('active'); // 变回最初的样式
isBig = true;
}
});

  完整代码: 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的属性操作</title>
<style type="text/css">
span.active{
font-size: 30px;
}
</style>
</head>
<body>
<div id="box" class="foo">
<p>hello,暮光微凉...</p>
</div>
<ul>
<li class="one">暮光微凉1号</li>
<li class="two">暮光微凉2号</li>
<li class="three">暮光微凉3号</li>
<li class="four">暮光微凉4号</li>
</ul>
<span>我是一个span标签</span>
<button class="btn">点我</button>
<div id="box2">
<p>hello,everyone</p>
<a href="#">百度一下</a>
<input type="text" value="嘿嘿哈" name=""/>
<button id="btn2">Get</button>
</div>
</body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript"> $(document).ready(function () {
// 类样式操作:
// addClass() removeClass()
$('span').addClass('span2 span3'); // 可同时添加多个或删除多个类标签
$('span').removeClass('span3');
var isBig = true;
$('span').click(function(){
if(isBig){
$(this).addClass('active'); // 点击放大
isBig = false;
}
else{
$(this).removeClass('active'); // 变回最初的样式
isBig = true;
}
});
})
</script>
</html>

  5、值属性的操作

   值属性是对DOM属性value进行读取和设置操作。例如:text()、html()、val()。 

// 值属性的操作 text() html() val()
// text() 仅仅获取文本
console.log($('#box2').text()); // hello,everyone
// html() 获取所有
console.log($('#box2').html()); // <p>hello,everyone</p> // 设置值
$('#box2').text('<a>百度一下</a>');
$('#box2').html('<a href="https://home.cnblogs.com/">暮光微凉</a>'); //获取值
console.log($('input').val());
$('input').val('嘿嘿哈个毛线。。。');
$('#btn2').click(function(){
var val = $('input').val();
$('.box2').text(val); });

  表单控件使用的一个方法,监听Input的输入: 

        $('input').change(function(){
console.log($(this).val());
});

  完整代码: 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的属性操作</title>
<style type="text/css">
span.active{
font-size: 30px;
}
</style>
</head>
<body>
<div id="box" class="foo">
<p>hello,暮光微凉...</p>
</div>
<ul>
<li class="one">暮光微凉1号</li>
<li class="two">暮光微凉2号</li>
<li class="three">暮光微凉3号</li>
<li class="four">暮光微凉4号</li>
</ul>
<span>我是一个span标签</span>
<button class="btn">点我</button>
<div id="box2">
<p>hello,everyone</p>
<a href="#">百度一下</a>
<input type="text" value="嘿嘿哈" name=""/>
<button id="btn2">Get</button>
</div>
</body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript"> $(document).ready(function () {
// 值属性的操作 text() html() val()
// text() 仅仅获取文本
console.log($('#box2').text()); // hello,everyone
// html() 获取所有
console.log($('#box2').html()); // <p>hello,everyone</p> // 设置值
$('#box2').text('<a>百度一下</a>');
$('#box2').html('<a href="https://home.cnblogs.com/">暮光微凉</a>'); //获取值
console.log($('input').val());
$('input').val('嘿嘿哈个毛线。。。');
$('#btn2').click(function(){
var val = $('input').val();
$('.box2').text(val); });
// 表单控件使用的一个方法,监听input的输入
$('input').change(function(){
console.log($(this).val());
}); }) </script>
</html>

  6、操作input的value值

    HTML部分 

    <form action="">
<!--单选按钮-->
<input type="radio" name="sex" value="1"/>男
<input type="radio" name="sex" value="2" checked=""/>女 <!--默认选项-->
<input type="radio" name="sex" value="3" />gay
<hr>
<!--多选框,设置checked表示默认-->
<input type="checkbox" value="a" checked=""/>散步
<input type="checkbox" value="b" checked=""/>美食
<input type="checkbox" value="c" checked=""/>阅读
<input type="checkbox" value="d" checked=""/>喝茶
<hr>
<!--下拉框-->
<select name="timespan" id="timespan" class="Wdate">
<option value="1">8:00--9:00</option>
<option value="2">9:00--10:00</option>
<option value="3">11:00--12:00</option>
</select>
<hr>
<input type="text" name="" id="" value="666"/>
<button>提交</button>
</form>

    jQuery部分

<script type="text/javascript">
$(document).ready(function () {
console.log($(':radio'));
console.log($(':checkbox'));
// 1、获取单选框中的value值
console.log($('input[type=radio]:checked').val()); // // 2、对于复选框中的value值,仅仅获取第一个值
console.log($('input[type=checkbox]:checked').val()); // a // 3、下拉列表被选中的值
var obj = $('#timespan option:selected');
console.log(obj.val()); // // 设置单选的值
$('input[type=radio]').val(['1']); //将默认值改为1(初始时是2)
$('input[type=checkbox]').val(['b','c']); // 将默认选中的值改为‘b’和'c'(初始时是'a','b','c') // 文本框 设置值和获取值
$('input[type=text]').val(['在此输入额!']);
console.log($('input[type=text]').val()); })
</script>

二、jQuery文档操作

    HTML部分 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery文档操作-插入节点</title>
</head>
<body>
<a href="#">我是一个超链接</a>
<a href="#">我是又一个超链接</a>
<ul> </ul>
<button>按钮</button>
<h2>我是一个二级标题</h2> </body>
<script src="../jquery-3.2.1.js"></script>
<script type="text/javascript">
// jQuery代码部分
</script>
</html>

  jQuery代码部分  

  1、插入操作   

$(document).ready(function(){
//------------ 方法一:append() ------------------------------
/*
父元素.append(子元素),即在父元素下追加某新元素
*/
// 插入节点方法1:append("字符串")
$("ul").append("<li>我是一个新的li标签</li>") // 插入节点方法2:先创建子元素,再将其添加到父元素上
var dom_li = document.createElement("li");
dom_li.innerHTML = "我是添加的第二个标签";
$("ul").append(dom_li); // 插入节点方法3:通过jQuery元素添加(即移动当前页面中已存在的元素到父元素下,则被移动元素将从原位置上消失,等同于移动操作)
$("ul").append(a); // ------------- 方法二:appendTo() ----------------------------
// 子元素.appendTo(父元素),即子元素主动添加到父元素上
$("<li>我是第三个li标签</li>").appendTo($("ul").addClass("oli-3")); // ------------- 方法三:prepend() 前置添加,即添加到父元素的第一个位置----------------------------
$("ul").prepend("<li>我是最开始的li标签</li>");
// prependTo() 后置添加,即将元素添加到父元素下第一个位置
$("<a>我是最开始的超链接</a>").prepend("ul");
// ------------- 方法四:父.after(子) 在匹配的元素之后插入内容,与之相对还有 ---> 子.insertAfter(父) ----------------
$("ul").after("<h4>我是一个四级标题</h4>");
$("<h5>我是一个5级标题</h5>").insertAfter("h4");
})

  2、复制操作 --- clone()   

$("button").click(function(){
// clone() 括号内内容不写时,默认克隆匹配的DOM元素并且选中这些克隆的副本(不包括事件)
$(this) .clone().insertAfter($(this));
// clone(true) 元素以及所有的事件处理并且选中这些克隆的副本(即副本和本体一样,无区别)
$(this).clone(true).insertAfter($(this)); })

  3、替换操作  

// replaceWith() ---- 将所有匹配的元素替换成指定的HTML或DOM元素
$("h2").replaceWith($("<h5>我是一个5级标题</h5>")) // replaceAll() ---- 用指定的元素替换所有selector匹配到的元素
$("<button>替换</button>").replaceAll("a");

  4、删除操作

// remove() 删除节点后,事件也会随之删除(即删除了整个标签)
$("ul").remove(); // detach() 删除节点后,事件会保留
var $btn = $("button").detach();
$("ul").append($btn); // 此时按钮添加到了ul中
console.log($btn); // empty() 清空元素中所有后代节点
$("ul").empty();

回到顶部↑

    

  

    

    

前端开发之jQuery属性和文档操作的更多相关文章

  1. 前端开发之jQuery位置属性和筛选方法

    主要内容: 1.jQuery的位置属性及实例 (1)位置属性 (2)实例 --- 仿淘宝导航栏 2.jQuery的筛选方法及实例 (1)筛选方法 (2)实例一:嵌套选项卡 (3)实例二:小米官网滑动 ...

  2. 前端开发之jQuery库

    使用jquery开发的时候,如果我们不想使用自己的jquery文件,那么可以引用现成的地址.方便日常开发使用 jquery-2.0以上版本 (注!不再支持IE 6/7/8) jquery-2.0.0百 ...

  3. 前端开发之jQuery效果篇

    主要内容: 1.显示与隐藏效果 2.滑动效果 3.淡入与淡出效果 4.动画效果 5.弹出广告效果 一.显示与隐藏 显示与隐藏即 show() 和 hide() ,能够控制元素显示或隐藏. 实例: &l ...

  4. 前端开发之jQuery篇--选择器

    主要内容: 1.jQuery简介 2.jQuery文件的引入 3.jQuery选择器 4.jQuery对象与DOM对象的转换 一.jQuery简介 1.介绍 jQuery是一个JavaScript库: ...

  5. python 全栈开发,Day54(jQuery的属性操作,使用jQuery操作input的value值,jQuery的文档操作)

    昨日内容回顾 jQuery 宗旨:write less do more 就是js的库,它是javascript的基础上封装的一个框架 在前端中,一个js文件就是一个模块 一.用法: 1.引入包 2.入 ...

  6. Jquery的事件操作和文档操作

    对于熟悉前端开发的小伙伴,相信对于Jquery一定不陌生,相对于JavaScript的繁琐,Jquery更加的简洁,当然简洁不意味着简单,我们可以使用Jquery完成我们想要实现全部功能,这里为小白们 ...

  7. python全栈开发day48-jqurey自定义动画,jQuery属性操作,jQuery的文档操作,jQuery中的ajax

    一.昨日内容回顾 1.jQuery初识 1).使用jQuery而非JS的六大理由 2).jQuery对象和js对象转换 3).jQuery的两大特点 4).jQuery的入口函数三大写法 5).jQu ...

  8. #笔记# 移动前端开发之viewport

    一般移动设备的浏览器都默认设置了一个 viewport ,并初始定义一个虚拟的layout viewport(布局视口),用于解决早期的页面在手机上显示的问题.下面我们来认识几个与 viewport  ...

  9. Elasticsearch索引和文档操作

    列出所有索引 现在来看看我们的索引 GET /_cat/indices?v 响应 health status index uuid pri rep docs.count docs.deleted st ...

随机推荐

  1. react中map循环中key取值问题

    数组中没有唯一的key,可以定义变量,拼接字符串连接. let i = 0; key={`infoItem-col-${i++}`}

  2. 爸妈才是最好的避孕药--------"北大状元拉黑父母事件的一些感想"

    今天看了这么一篇文章,地址:  http://mini.eastday.com/mobile/180131180318786.html <北大状元拉黑父母6年:你敢恨爸妈,可你敢原谅他们吗?&g ...

  3. Codeforces 133A:HQ9+

    A. HQ9+ time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  4. 老毛桃(U盘启动盘)

    1.制作U盘启动盘: http://www.laomaotao.org/jiaocheng/92/upzwin7.html 2.老毛桃U盘快速安装gost win7系统教程: http://www.l ...

  5. java spring boot 出现 java.lang.UnsatisfiedLinkError

    java.lang.UnsatisfiedLinkError: E:\ruanjian\jdk\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a A ...

  6. centos7 开放mongodb端口

    CentOS 7 默认没有使用iptables,所以通过编辑iptables的配置文件来开启端口是不可以的 CentOS 7 采用了 firewalld 防火墙 如要查询是否开启27019端口则: 1 ...

  7. free命令学习 输出理解

    命令 [root@localhost ~]# free -m total used free shared buffers cached Mem: 7869 7651 218 1 191 5081 - ...

  8. linq to sql 怎么查询前 11 条数据

    (from 新表 in db.books where 新表.bookid < 400 select 新表).Take(11); storeDB.Albums.OrderByDescending( ...

  9. "WannaCry"勒索病毒用户处置指南

    "WannaCry"勒索病毒用户处置指南   原文: http://mp.weixin.qq.com/s/ExsribKum9-AN1ToT10Zog    卡巴斯基,下载官网:h ...

  10. emacs配置emacs-clang-complete-async

    debian下需要安装apt安装下clang和llvm sudo apt-get install llvm-dev sudo apt-get install libclang-dev 网上抄来一个大神 ...