jQuery 对HTML的操作(二)

文章目录

    • 一、jQuery获取、设置HTML标签的内容和属性
          • 获得内容 - text()、html() 以及 val()
          • 获取属性 - attr(),prop()
    • 二、增删 HTML 的内容
          • 增加
          • 删除
    • 三、操作CSS
          • addClass 添加
          • removeClass 删除
          • toggleClass 切换
          • css 获取与设置
          • 所有操作html、css方法参考 ☆
    • 四、操作元素和浏览器窗口的尺寸
    • 五、遍历DOM元素
          • 父辈查找
          • 同辈查找
          • 后代查找
          • 过滤查找
          • 所有遍历方法参考 ☆

一、jQuery获取、设置HTML标签的内容和属性

tips:括号内无参则是获取,有参则是设置

  • 获得内容 - text()、html() 以及 val()
    • text() - 设置或返回所选元素的文本内容
    • html() - 设置或返回所选元素的内容(包括 HTML 标记)
    • val() - 设置或返回表单字段的值
    testValue = $("#test").val();	// 获取
    $("#test").val("newValue");	// 设置
    $("#test2").html("<b>Hello world!</b>");	// 设置html
    

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

     $("#test1").text(function(i,origText){return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; });
    

  • 获取属性 - attr(),prop()
    url = $("#runoob").attr("href")	// 获取href属性(得到地址)
    $("#runoob").attr("href","www.baidu.com")	// 设置值
    $("#runoob").attr({"href":"www.baidu.com","title":"newTitle"})	// 同时设置多个属性
    

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

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

    tips:attr与prop
    prop()函数的结果:
    1.如果有相应的属性,返回指定属性值。
    2.如果没有相应的属性,返回值是空字符串。
    attr()函数的结果:
    1.如果有相应的属性,返回指定属性值。
    2.如果没有相应的属性,返回值是 undefined。

    对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
    对于HTML元素我们自己自定义的DOM属性,在处理时,使用 attr 方法。
    具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop()

二、增删 HTML 的内容

  • 增加

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

    tips
    append/prepend 是在选择元素内部嵌入。
    after/before 是在元素外面追加。

    JS实例:

    function appendText()
    {var txt1="<p>文本。</p>";              // 使用 HTML 标签创建文本var txt2=$("<p></p>").text("文本。");  // 使用 jQuery 创建文本var txt3=document.createElement("p");txt3.innerHTML="文本。";               // 使用 DOM 创建文本 text with DOM$("body").append(txt1,txt2,txt3);        // 追加新元素
    }function afterText()
    {var txt1="<b>I </b>";                    // 使用 HTML 创建元素var txt2=$("<i></i>").text("love ");     // 使用 jQuery 创建元素var txt3=document.createElement("big");  // 使用 DOM 创建元素txt3.innerHTML="jQuery!";$("img").after(txt1,txt2,txt3);          // 在图片后添加文本$("img").after([txt1,txt2,txt3]);        // 参数也可以是list
    }
    
  • 删除

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

    可选参数:选择器

    $("#div1").remove();	
    $("#div1").empty();
    $("p").remove(".italic");	// 删除 class="italic" 的所有 <p> 元素
    

三、操作CSS

addClass() - 向被选元素添加一个或多个类
removeClass() - 从被选元素删除一个或多个类
toggleClass() - 对被选元素进行添加/删除类的切换操作
css() - 设置或返回样式属性

  • addClass 添加
    $("button").click(function(){$("div").addClass("important");	// 添加一个类$("h1,h2,p").addClass("blue");	// 给多个标签添加一个类$("body div:first").addClass("important blue"); // 给标签添加多个类
    });
    
  • removeClass 删除
    // 删除多个标签二的blue类
    $("h1,h2,p").removeClass("blue");	
    
  • toggleClass 切换
    // 添加、删除类的切换-若有则删除,没有则添加$("h1,h2,p").toggleClass("blue");
    
  • css 获取与设置

    css() 方法设置或返回被选元素的一个或多个样式属性。

    获取

    var backgroundColor = $("p").css("background-color");
    

    设置

    $("p").css("background-color","yellow");
    // 设置多个属性
    $("p").css({"background-color":"yellow","font-size":"200%"});
    
  • 所有操作html、css方法参考 ☆

    菜鸟教程 - jQuery HTML / CSS 方法


四、操作元素和浏览器窗口的尺寸

在这里插入图片描述

width()			—— 设置或返回元素的宽度(不包括内边距、边框或外边距)
height()		—— 设置或返回元素的高度(不包括内边距、边框或外边距)innerWidth()	—— 返回元素的宽度(包括内边距)
innerHeight()	—— 返回元素的高度(包括内边距)outerWidth()	—— 返回元素的宽度(包括内边距和边框)
outerHeight()	—— 返回元素的高度(包括内边距和边框)
$("button").click(function(){var txt="";txt+="div 的宽度是: " + $("#div1").width() + "</br>";txt+="div 的高度是: " + $("#div1").height();$("#div1").html(txt);txt+="div 宽度,包含内边距: " + $("#div2").innerWidth() + "</br>";txt+="div 高度,包含内边距: " + $("#div2").innerHeight();$("#div2").html(txt);txt+="div 宽度,包含内边距和边框: " + $("#div3").outerWidth() + "</br>";txt+="div 高度,包含内边距和边框: " + $("#div3").outerHeight();$("#div3").html(txt);
});

tips:width() 获取的是 css 设置的 width 减去 padding 和 border 的


五、遍历DOM元素

三级关系:
父辈:父、祖父、曾祖父等等
同辈:同胞(拥有相同的父)
后代:子、孙、曾孙等等。

父辈查找

parent() —— 返回被选元素的直接父元素,只会向上一级对 DOM 树进行遍历
parents() —— 返回被选元素的所有祖先元素,它一路向上直到文档的根元素 ()
parentsUntil() —— 返回介于两个给定元素之间的所有祖先元素

$(document).ready(function(){// 返回每个 <span> 元素的直接父元素var spanParent = $("span").parent();spanParent.css("color","red");	// 将每个 <span> 元素的直接父元素颜色设置为红色// 返回所有 <span> 元素的所有祖先$("span").parents();// 所有 <span> 元素的所有祖先,并且它是 <ul> 元素$("span").parents("ul");// 返回介于 <span> 与 <div> 元素之间的所有祖先元素$("span").parentsUntil("div");
});
同辈查找

siblings() —— 返回被选元素的所有同胞元素
next() —— 返回被选元素的下一个同胞元素,该方法只返回一个元素
nextAll() —— 返回被选元素的所有跟随的同胞元素
nextUntil() —— 返回介于两个给定参数之间的所有跟随的同胞元素
prev() —— 同上,只不过是向上级遍历
prevAll()
prevUntil()

$(document).ready(function(){// 返回 <h2> 的所有同胞元素$("h2").siblings();// 返回属于 <h2> 的同胞元素的所有 <p> 元素$("h2").siblings("p");// 返回 <h2> 的下一个同胞元素$("h2").next();// 返回 <h2> 的所有跟随的同胞元素$("h2").nextAll();// 返回介于 <h2> 与 <h6> 元素之间的所有同胞元素$("h2").nextUntil("h6");
});
后代查找

children() —— 返回被选元素的所有直接子元素,只会向下一级对 DOM 树进行遍历
find() —— 返回被选元素的后代元素,一路向下直到最后一个后代

$(document).ready(function(){// 返回每个 <div> 元素的所有直接子元素$("div").children();// 返回类名为 "1" 的所有 <p> 元素,并且它们是 <div> 的直接子元素$("div").children("p.1");// 返回属于 <div> 后代的所有 <span> 元素$("div").find("span");// 返回 <div> 的所有后代$("div").find("*");
});
过滤查找

first() —— 返回被选元素的首个元素
last() —— 返回被选元素的最后一个元素
eq() —— 返回被选元素中带有指定索引号的元素,索引号从 0 开始,因此首个元素的索引号是 0 而不是 1

$(document).ready(function(){// 选取首个 <div> 元素内部的第一个 <p> 元素$("div p").first();// 选择最后一个 <div> 元素中的最后一个 <p> 元素$("div p").last();// 选取第二个 <p> 元素(索引号 1)$("p").eq(1);
});

filter() —— 允许你规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回
not() —— 返回不匹配标准的所有元素,not() 方法与 filter() 相反

$(document).ready(function(){// 返回带有类名 "url" 的所有 <p> 元素$("p").filter(".url");// 返回不带有类名 "url" 的所有 <p> 元素$("p").not(".url");
});

tips:
$(“p”).last().css(“background-color”,“yellow”);

$(“p:last”).css(“background-color”,“yellow”);
效果一样。

$(“p”).first().css(“background-color”,“yellow”);

$(“p:first”).ss(“background-color”,“yellow”);
效果一样。

$(“p”).not(".url");

$(“p:not(.url)”);
效果一样。

所有遍历方法参考 ☆

菜鸟教程 - jQuery 遍历 方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

roku能不能安装软件_如何在Roku中使用Google Assistant

roku能不能安装软件As more of our devices connect to each other, it’s always nice to know that different products from different companies work together. A Chromecast isn’t expensive, but being able to use your TV directly with Google Assistant is better.…

如何使用卡巴斯基急救盘清理感染的PC

When you’re dealing with a PC that is completely infected in viruses, sometimes the best thing to do is reboot into a rescue disk and run a full virus scan from there. Here’s how to use the Kaspersky Rescue Disk to clean an infected PC. 当您要处理一台完全…

jQuery杂项进阶(四)

文章目录一、$ 的替换二、使用JSONP实现跨域三、jQuery 杂项方法、实用工具、回调对象、延迟对象参考 ☆四、jQuery 自身属性参考 ☆五、jQuery 插件介绍和参考 ☆jQuery 树型菜单插件(Treeview)jQuery Validate表单验证&#xff0c;jQuery Password Validation&#xff08;密码…

什么是WLIDSVC.EXE和WLIDSVCM.EXE,它们为什么运行?

You’re no doubt reading this article because you’re wondering what those two processes are doing cluttering up Task Manager, and also wondering why they are in capital letters. You’ve come to the right place. 毫无疑问&#xff0c;您阅读本文是因为您想知道…

linux压缩和解压缩_Linux QuickTip:一步下载和解压缩

linux压缩和解压缩Most of the time, when I download something it’s a file archive of some kind – usually a tarball or a zip file. This could be some source code for an app that isn’t included in Gentoo’s Portage tree, some documentation for an internal …

Spark架构与作业执行流程简介

2019独角兽企业重金招聘Python工程师标准>>> Spark架构与作业执行流程简介 博客分类&#xff1a; spark Local模式 运行Spark最简单的方法是通过Local模式&#xff08;即伪分布式模式&#xff09;。 运行命令为&#xff1a;./bin/run-example org.apache.spark.exam…

Spring boot整合Mongodb

最近的项目用了Mongodb&#xff0c;网上的用法大多都是七零八落的没有一个统一性&#xff0c;自己大概整理了下&#xff0c;项目中的相关配置就不叙述了&#xff0c;由于spring boot的快捷开发方式&#xff0c;所以spring boot项目中要使用Mongodb&#xff0c;只需要添加依赖和…

nodejs和Vue和Idea

文章目录Vue环境搭建Idea安装Idea中配置Vue环境Node.js介绍npm介绍Vue.js介绍[^3]Idea介绍Vue环境搭建 概述&#xff1a;vue环境搭建&#xff1a;需要npm&#xff08;cnpm&#xff09;&#xff0c;而npm内嵌于Node.js&#xff0c;所以需要下载Node.js。 下载Node.js&#xff1…

Spring MVC上下文父子容器

2019独角兽企业重金招聘Python工程师标准>>> Spring MVC上下文父子容器 博客分类&#xff1a; java spring 在Spring MVC的启动依赖Spring框架&#xff0c;有时候我们在启动Spring MVC环境的时候&#xff0c;如果配置不当的话会造成一些不可预知的结果。下面主要介绍…

12.7 Test

目录 2018.12.7 TestA 序列sequence(迭代加深搜索)B 轰炸bomb(Tarjan DP)C 字符串string(AC自动机 状压DP)考试代码AC2018.12.7 Test题目为2018.1.4雅礼集训。 时间&#xff1a;4.5h期望得分&#xff1a;010010实际得分&#xff1a;010010 A 序列sequence(迭代加深搜索) 显然可…

word文档中统计总页数_如何在Google文档中查找页数和字数统计

word文档中统计总页数Whether you’ve been given an assignment with a strict limit or you just like knowing how many words you’ve written, Google Docs has your back. Here’s how to see exactly how many words or pages you’ve typed in your document. 无论您是…

vue 入门notes

文章目录vue一、js基础二、封装缓存三、组件1、组件创建、引入、挂载、使用2、组件间的传值- 父组件主动获取子组件的数据和方法&#xff08;子组件给父组件传值&#xff09;&#xff1a;- 子组件主动获取父组件的数据和方法&#xff08;父组件给子组件传值&#xff09;&#x…

spring集成 JedisCluster 连接 redis3.0 集群

2019独角兽企业重金招聘Python工程师标准>>> spring集成 JedisCluster 连接 redis3.0 集群 博客分类&#xff1a; 缓存 spring 客户端采用最新的jedis 2.7 1. maven依赖&#xff1a; <dependency> <groupId>redis.clients</groupId> <artifact…

火狐浏览器复制网页文字_从Firefox中的网页链接的多种“复制”格式中选择

火狐浏览器复制网页文字Tired of having to copy, paste, and then format links for use in your blogs, e-mails, or documents? Then see how easy it is to choose a click-and-go format that will save you a lot of time and effort with the CoLT extension for Firef…

vscode配置、使用git

文章目录一、下载、配置git二、vscode配置并使用git三、记住密码一、下载、配置git 1、git-win-x64点击下载后安装直接安装&#xff08;建议复制链接用迅雷等下载器下载&#xff0c;浏览器太慢&#xff0c;记住安装位置&#xff09;。 2、配置git环境变量&#xff1a; 右键 此…

BTrace功能

2019独角兽企业重金招聘Python工程师标准>>> BTrace功能 一、背景 在生产环境中可能经常遇到各种问题&#xff0c;定位问题需要获取程序运行时的数据信息&#xff0c;如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息&#xff0c;我们可以…

.NET(c#) 移动APP开发平台 - Smobiler(1)

原文&#xff1a;https://www.cnblogs.com/oudi/p/8288617.html 如果说基于.net的移动开发平台&#xff0c;目前比较流行的可能是xamarin了&#xff0c;不过除了这个&#xff0c;还有一个比xamarin更好用的国内的.net移动开发平台&#xff0c;smobiler&#xff0c;不用学习另外…

如何在Vizio电视上禁用运动平滑

Vizio维齐奥New Vizio TVs use motion smoothing to make the content you watch appear smoother. This looks good for some content, like sports, but can ruin the feel of movies and TV shows. 新的Vizio电视使用运动平滑来使您观看的内容显得更平滑。 这对于某些内容(例…

无服务器架构 - 从使用场景分析其6大特性

2019独角兽企业重金招聘Python工程师标准>>> 无服务器架构 - 从使用场景分析其6大特性 博客分类&#xff1a; 架构 首先我应该提到&#xff0c;“无服务器”技术肯定有服务器涉及。 我只是使用这个术语来描述这种方法和技术&#xff0c;它将任务处理和调度抽象为与…

Enable Authentication on MongoDB

1、Connect to the server using the mongo shell mongo mongodb://localhost:270172、Create the user administrator Change to the admin database: use admindb.createUser({user: "Admin",pwd: "Admin123",roles: [ { role: "userAdminAnyDataba…