BOM DOM jQuery
. BOM
. location相关
. location.href
. location.href="http://www.sogo.com"
. location.reload() . DOM
. DOM树的概念 . JS通过DOM操作HTML
. 改标签(标签的内容)
. 改标签的属性
. 改样式
. 事件相关 . 操作标签
. JS查找标签 . 直接查找
. 通过ID document.getElementById("ID值")
. 通过class找 document.getElementsByClassName("class名")
. 通过标签名找 document.getElementsByTagName("标签名")
. 间接查找
. 找父标签
. 找字标签们
. 找第一个子标签
. 找最后一个子标签
. 找上一个兄弟标签
. 找下一个兄弟标签
. 创建标签
. 语法:
document.createElement("标签名") *****
. 添加标签
. 在内部最后添加
父标签.appendChild(新创建的标签)
. 在内部指定标签前面添加
父标签.insertBefore(新创建的标签,指定标签)
. 删除标签
. 从父标签里面删除指定的标签
父标签.removeChild(指定的标签)
. 替换
. 在父标签里面用新创建的标签替换指定标签
父标签.replaceChild(新创建的标签,指定的标签)
. 操作标签的属性
. 常用的属性 *****
. innerHTML --> 全部(子标签及子标签的文本内容)
. innerText --> 标签(子标签)的文本内容 . 标签的属性
. .setAttribute("age","") --> 设置属性
. .getAttribute("age") --> 获取属性的值
. .removeAttribute("age") --> 删除指定的属性 对于标签默认的属性
. a标签.href/img标签.src
. a标签.href="http://www.sogo.com"/img标签.src="..." . 获取值(input/select/textarea)
input标签.value()
select标签.value()
textarea标签.value()
. 操作标签的样式
. 通过class名去改变样式
. 获取标签所有样式类
. .className --> 得到的是字符串
. .classList --> 得到的是数组 . 使用classList操作样式
. .classList.contains("样式类") --> 判断包不包含指定的样式类
. .classList.add("样式类") --> 添加指定的样式类
. .classList.remove("样式类") --> 删除指定的样式类
. .classList.toggle("样式类") --> 有就删除没有就添加 . 通过.style直接修改CSS属性
. CSS属性带中横线的
background-color: red;
.style.backgroundColor=green;
. CSS属性中不带中横线的
.style.color=red; . 事件相关
. 注意:
涉及到DOM操作的JS代码要放在body标签内部的最下面!!! . 绑定事件的方式
. 在标签内通过属性来设置(onclick=foo(this))
this指的是当前触发事件的标签!!!
. 通过JS代码绑定事件 . 常用的事件
. onclick 当用户点击某个对象时调用的事件句柄。
. ondblclick 当用户双击某个对象时调用的事件句柄。 . onfocus 元素获得焦点。 // 练习:搜索框
. onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证. . onchange 域的内容被改变。 (select联动示例) . jQuery
. 为什么要学jQuery? MySQL Python
做同样的事情 jQuery写起来极其简练 (write less, do more.)
. jQuery是什么?
jQuery相当于Python的第三方模块
第三方模块其实就是别人写好(封装)的一些代码,我们拿过来用(按照别人定好的规则) 原生的JS DOM操作是基础
. jQuery学习的内容
. 改变标签
. 改变标签的属性
. 改变标签的样式
. 事件相关 学习内容:(先导入再使用)
. HTML对象和jQuery对象的区别
. jQuery对象转换成DOM对象,用索引取出具体的标签
. DOM对象转换成jQuery对象,$(DOM对象) 注意:
jQuery对象保存到变量的时候,变量名要加$前缀 . 找标签
. 基本选择器
. $("ID值")
. $(".class名")
. $("标签名") . $("*") 找所有
. $("条件1,条件2") 组合查找
. 层级选择器
同CSS选择器
. $("x y");// x的所有后代y(子子孙孙)
. $("x > y");// x的所有儿子y(儿子)
. $("x + y")// 找到所有紧挨在x后面的y
. $("x ~ y")// x之后所有的兄弟y . 基本筛选器
. :first // 第一个
. :last // 最后一个
. :eq(index)// 索引等于index的那个元素
. :even // 匹配所有索引值为偶数的元素,从 0 开始计数
. :odd // 匹配所有索引值为奇数的元素,从 0 开始计数
. :gt(index)// 匹配所有大于给定索引值的元素
. :lt(index)// 匹配所有小于给定索引值的元素
. :not(元素选择器)// 移除所有满足not条件的标签
. :has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
. 属性选择器
. [attribute]
. [attribute=value]// 属性等于
. [attribute!=value]// 属性不等于
. 表单选择器
:text
:password
:file
:radio
:checkbox :submit
:reset
:button
. 筛选器
. 上一个
. 下一个
. 父元素
. 儿子和兄弟
. .find()
注意应用场景
. 操作标签
. 操作class类
. addClass()
. removeClass()
. hasClass()
. toggleClass()
. jQuery
. 选择器 $("")
. 基本选择器
. ID --> $("#d1")
. 标签名 --> $("p")
. class名 --> $(".C1")
. 通用的 --> $("*")
. 组合 --> $(".c1,div,a") . 层级选择器
. 子子孙孙 --> $("x y")
. 儿子选择器 --> $("x>y")
. 弟弟选择器 --> $("x~y")
. 毗邻选择器 --> $("label+input") . 筛选器
. 基本筛选器
. :first
. :last
. :eq() --> 从0开始
. :even --> 偶数
. :odd --> 奇数
. :gt
. :lt . :not --> $("div:not(.c1)")
. :has --> $("div:has(.c1)") . 属性选择器
. $("[title]")
. $("[type='text']")
. $("[type!='text']") . 表单选择器
. $(":checkbox") --> $("input[type='checkbox']")
. $(":text") ...
. 表单对象
. $(":disabled") --> 找到不可用的标签 ...
. 筛选器方法(只是应用场景和上面的基本筛选器不同而已)
. $("div").first()
. ...
. 常用的方法
. .next() --> 找到挨着我的下一个同级标签
. .nextAll() --> 下边同级的所有
. .nextUntil()--> 往下找,直到找到终止条件为止 . .prev()
. .prevAll()
. .prevUntil() . .siblings() --> 找所有的兄弟(前面的后面的都能找到)
. .children() . .parent()
. .parents()
. .parentsUntil() . .find(各种条件都可以写) . 样式操作
. 操作class类
. .addClass()
. .removeClass()
. .hasClass()
. .toggleClass() . 问: 字符串格式化:%和format 有什么区别? Python新版本推荐使用format.
Python2. 新加入的format语法支持.
.6加入了一个 f-strings新特性 (http://www.bootcdn.cn/) PyCon meetingup (关注一下时事热点技术) . 修改样式
. 操作class类
自定义模态框弹出和隐藏 . 直接修改样式
. 原生DOM .style.color="green" . $("div").css("color", "green") . 修改多个样式时,传入键值对!!! . 位置
. offset
. position --> 获取相对父标签的偏移位置
. scrollTop()// 获取匹配元素相对滚动条顶部的偏移
. scrollLeft()// 获取匹配元素相对滚动条左侧的偏移 返回顶部示例 . 大小
. height()
. width()
. innerHeight()
. innerWidth()
. outerHeight()
. outerWidth() 注意:outerHeight()和outerWidth()取得是内容+padding+border . 文档操作
. 操作HTML
.html() --> 类似于 innerHTML
. 操作text
.text() --> 类似于 innerText . 值
. val()// 取得第一个匹配元素的当前值
. val(val)// 设置所有匹配元素的值 . 属性操作
. attr()
. attr(attrName)// 返回第一个匹配元素的属性值
. attr(attrName, attrValue)// 为所有匹配元素设置一个属性值
. attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性值
. removeAttr()// 从每一个匹配的元素中删除一个属性
. prop() --> checkbox和radio用这个
BOM DOM jQuery的更多相关文章
- python之路-笔录3[BOM&DOM&JQuery]
*** 目录 *** 1. BOM 学习 2. DOM 学习 3. jQuery 学习 *** END *** 1. BOM BOM(Browser Object Model)是指浏览器对象模型,它使 ...
- JavaScript:BOM&DOM
BOM(Browser Object Model): feature: 1.BOM has no relevant standards. 2.The fundamental object of BOM ...
- python2.0_s12_day13_javascript&Dom&jQuery
今天主要内容:JavaScriptDomjQuery http://www.cnblogs.com/wupeiqi/articles/5369773.html 今天主要内容大致了解:javascrip ...
- JavaScript BOM DOM 对象
title: JavaScript BOM DOM 对象 tags: JavaScript --- browser object model document onject model BOM对象 w ...
- 【转】了解nodejs、javascript间的关系!bom&dom&ecmascript
地址:https://www.cnblogs.com/JetpropelledSnake/p/9450810.html bom&dom:https://www.cnblogs.com/wang ...
- js BOM DOM
BOM对象 BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关的动作. 简而言之就是使 JavaScript ...
- Day047--JS BOM介绍, jQuery介绍和使用
内容回顾 DOM 文档对象模型(model) 一个模型就是一个对象(属性和方法 面向对象的三大特性:封装 继承 多态) 为了可扩展性 DOM操作 标签属性操作 获取值 getAttribute() 设 ...
- JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}
前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...
- BOM DOM Event事件笔记....
js//获取文件标题 document.body //body document.title //网页标题 document.doctype//文档对象 document.url//路径 //服务器相 ...
随机推荐
- JS封装Cookie
/* @黑眼诗人 <www.farwish.com> */<script> //设置cookie: cookie名,cookie值,天数 function setCookie( ...
- numpy-帮助文档 & 速查表.md
目录 转相关资料: 速查表 速查代码 转相关资料: 官方手册 易佰教程 gitbook ZMonster's Blog 速查表 速查代码 # -*- coding: utf-8 -*- "& ...
- 神经网络中的激活函数具体是什么?为什么ReLu要好过于tanh和sigmoid function?(转)
为什么引入激活函数? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层 ...
- JVM G1GC参数配置
https://www.oracle.com/technetwork/articles/java/g1gc-1984535.html 主要这两个参数需要设置下,ParallelGCTh ...
- 2017秋季面向对象程序设计(Java)教材、教学纲要、考核要求
教材简况 凯 S.霍斯特曼 (Cay S. Horstmann)(作者), 周立新(译者), Java核心技术(卷1):基础知识(原书第10版) , 2016年9月1出版 本书包括两卷,选做教材的是卷 ...
- notepad++查看二进制文件
1.进入以下网址去下载 https://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/Hex%20Editor%20Plugin%20 ...
- 渲染Keynote
[渲染Keynote] 1.渲染图元(rendering primitives),可以是点.线.三角. 2.显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利 . 3.裁剪(Cli ...
- series of Nimble
[nimble] series方法用于串行执行多个异步任务,通过npm可安装nimble. Series works similarly to parallel, only it runs each ...
- 条件编译ifndef、ifdef、endif
1.条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif 当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2. ...
- python if __name__ == 'main' 的作用和原理()
相信初学者在学习Python的过程中,不可避免的总会遇到 if __name__ == 'main'语句,虽然一直知道它的作用,但是可能一直比较模糊,今天菜鸟分析就与大家一起举例说说我的理解. 举个例 ...