参考链接:http://www.cnblogs.com/wupeiqi/articles/5433893.html

day13

1. CSS示例
2. JavaScript
3. DOM操作

上节内容回顾:
1. HTML标签
html/head/body/
input
div,span
a
p
br
span
table > tr行 th表头列 td表头列
h
form> action method enctype=;;;
select option
input系列:
text
password
email
button
submit
radio name属性相同
checkbox
reset
textarea
2.CSS

a. 存在形式
- <div style='k1=v1;k2=v2;'>
- <style></style>
- <link ...>
b. 选择器
<style>
.c1{

}
#i1{

}

div{

}

.c1,#i2{

}

.c1 .c2{

}

.c1 > .c2{

}

.c1:hover{

}
input[type='text']{

}
</style>

c. 样式
**** 田海龙 ****
color:
background-color:
font-size:
background-img:
background-position:
position:
fixed - 永远固定在浏览器窗口的某个位置
absolute - 固定在浏览器窗口的某个位置
relative - 单独无用

relative

absolute

padding: 内边距
margin: 外边距
top ...:
border: 1px shixu yanse
height: 100%
width:
display:
none 隐藏
block 块
inline 内联
inlie-block 内联+块级
float:
left
right
<div style='background-color:red;'>
<div style='float:left;'>adf</div>
<div style='float:right;'>adf</div>
<div style='clear:both'></div>
</div>

text-align:
line-height:
cursor

z-index:
opacity:

今日内容

一、后台管理示例

二、JavaScript
1. 存在形式

2. 位置
<body>

...;.
</body>
3.
a = 123;
var a = 123;
4. // /* */

5. 声明函数
// 普通函数
function func(arg){
alert(123);
}
func("alex")

// 普通函数,自执行函数
(function(arg){
alert(123);
})("alex")

(function(arg){})("alex")

// 匿名函数,当做参数传递
function(){
alert(123);
}
// 匿名函数的应用
function func(arg){
arg()
}
func(function(){alert(123)})

6. 基本数据类型
undefined // 为定义 var age;
function func(a1,a2){
alert(a1);
alert(a2);
}
func(1)
null // 空值

数字
var age = 123.123;
var v = typeof age; # number
alert(v);

isNaN
parseInt()
parseFloat(num)
字符串
obj.length 长度

obj.trim() 移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n) 返回字符串中的第n个字符
obj.concat(value, ...) 拼接
obj.indexOf(substring,start) 子序列位置
obj.lastIndexOf(substring,start) 子序列位置
obj.substring(from, to) 根据索引获取子序列
obj.slice(start, end) 切片
obj.toLowerCase() 大写
obj.toUpperCase() 小写
obj.split(delimiter, limit) 分割

数组

obj.length 数组的大小

obj.push(ele) 尾部追加元素
obj.pop() 尾部获取一个元素
obj.unshift(ele) 头部插入元素
obj.shift() 头部移除元素
obj.splice(start, deleteCount, value, ...) 插入、删除或替换数组的元素
obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1) 指定位置删除元素
obj.slice( ) 切片
obj.reverse( ) 反转
obj.join(sep) 将数组元素连接起来以构建一个字符串
obj.concat(val,..) 连接数组
obj.sort( ) 对数组元素进行排序

字典
info = {name: 'alex',age: 18};

7. 序列化
JSON.stringify
JSON.parse

8. 转义

9. eval

10. 时间

var da = new Date();

11. 条件&循环&异常处理

12. 面向对象

// 面向对象
function Foo(name,age){
this.Name = name;
this.Age = age;
}

obj = new Foo('alex',18);
obj.Name

function Foo(name,age){
this.Name = name;
this.Age = age;
}

// 利用原型实现方法重用
Foo.prototype.show = function(){
alert(this.Name);
}

obj1 = new Foo('alex',18);
obj1.show()

obj2 = new Foo('alex',18);
obj2.show()

三、利用HTML文档+JavaScript+DOM实现操作HTML数据

1. 查找

document.getElementById 根据ID获取一个标签
document.getElementsByName 根据name属性获取标签集合
document.getElementsByClassName 根据class属性获取标签集合
document.getElementsByTagName 根据标签名获取标签集合
2. 间接查找

parentNode // 父节点
childNodes // 所有子节点
firstChild // 第一个子节点
lastChild // 最后一个子节点
nextSibling // 下一个兄弟节点
previousSibling // 上一个兄弟节点

parentElement // 父节点标签元素
children // 所有子标签
firstElementChild // 第一个子标签元素
lastElementChild // 最后一个子标签元素
nextElementtSibling // 下一个兄弟标签元素
previousElementSibling // 上一个兄弟标签元素

3. HTML标签样式操作

var tag = document.getElementById('i1');
tag.classList.add('c1') //给标签添加样式
tag.classList.remove('c1') //给标签移除样式

<div class='c1 c2'></div>
tag.className "c1 c2"
tag.classList ['c1','c2']

4. 文本操作

innerText 只获取文本
innerHTML 获取文本以及标签

innerText = "文本"
innerHTML = "HTML格式解析"

input:
document.getElementById('username').value
document.getElementById('username').value = "asdf"

PS:
<input type="text" id="key" value="请输入关键字" onfocus="keyFocus();" onblur="keyBlur();" />

onfocus: 获取焦点
onblur: 失去焦点

5. 属性操作

<div id='i1'></div>

<input id='ck' type="checkbox" />

自定义属性
attributes // 获取所有标签属性
setAttribute(key,value) // 设置标签属性
getAttribute(key) // 获取指定标签属性

内置属性:
obj.id

checkbox
- obj.checked true或false

6. 创建标签
对象方式 ***

7. js提交表单

document.getElementById('f1').submit();
8. 常用操作

console.log(..)
alert(..)
confirm(...)
var v = confirm('是否要删除?');
console.log(v);

location.href 获取当前URL
location.href = "http://www.oldboyedu.com" 重定向

location.reload() 刷新

setInterval
clearInterval

setTimeout
clearTimeout

var obj1= setInterval(function () {
console.log('1');
clearInterval(obj1);
},1000);
var obj2= setInterval(function () {
console.log('2');
clearInterval(obj2);
},1000)

9. 事件

1. 绑定事件
<div id='i1' onkeydown='func(this,event,123);'> 点我 </div>
function func(a,b,c){
// a -> 当前被点击的标签对象 document.getElementById('i1')
// b -> 当前事件相关的信息
// c = 123
}

2. 绑定事件 ***************
<div id='i1'> 点我 </div>

<script>
document.getElementById('i1).onclick = function(event){
// event -> 当前事件相关的信息
// this -> 当前被点击的标签对象
}
document.getElementById('i1).onclick = function(event){
// event -> 当前事件相关的信息
// this -> 当前被点击的标签对象
}
</script>
一个事件只能被绑定一次

3. 绑定事件

document.getElementById('i1').addEventListener('click',function(){
console.log(111);
},true)
document.getElementById('i1').addEventListener('click',function(){
console.log(222);
},true)

PS: addEventListener第三个参数
默认:
事件冒泡
捕获式

欠:
1. 点赞 +1 动画

2. JavaScript高级知识 - 词法分析

作业:
后台管理+所有示例
1. 后台管理布局
2. 左侧菜单
3. 莫泰对话框
4. 表格全选反选取消
5. 添加标签
6. 欢迎今天李磊上课
7. 5s之后 删除内容 移除
8. 时间流逝
9. 搜索框
<form action='https://www.sogou.com/web'>
<input type='text' name='query' />
<div>提交</div>
</form>

参考博客:
http://www.cnblogs.com/wupeiqi/articles/5643298.html 
http://www.cnblogs.com/wupeiqi/articles/5602773.html

Python之路day13 web 前端(JavaScript,DOM操作)的更多相关文章

  1. Python之路day12 web 前端(HTML+ css)

    HTML文档 文档树: Doctype Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档 有和无的区别 BackCompat:标准兼容模式未开启(或叫怪异模式[Quirk ...

  2. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  3. Web前端-JavaScript基础教程下

    Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...

  4. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  5. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  6. javascript DOM操作之 querySelector,querySelectorAll

    javascript DOM操作之 querySelector,querySelectorAll

  7. javascript DOM 操作基础知识小结

    经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的.   DOM添加元素,使用节点属性  <!DOCTYPE html PUBLIC ...

  8. web前端+javascript+h5电子书籍和实战分享

    有很多前端伙伴们学习前端很多了,但是如何能成为优秀的程序员呢,前端必学的知识点相信学习前端的伙伴们心里都非常清楚.主要的三要素包括HTML.CSS和JavaScript.那么学好JavaScript是 ...

  9. python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)

    昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...

随机推荐

  1. 编译安装MariaDB-10.0.21

    一.源码编译安装gcc-5.1.0 1.下载gcc源码包 Download (HTTP): http://ftpmirror.gnu.org/gcc/gcc-5.2.0/gcc-5.2.0.tar.b ...

  2. C#:对含有中文的字符串进行MD5加密

    MD5CryptoServiceProvider MD5 = new MD5CryptoServiceProvider(); var Sign = BitConverter.ToString(MD5. ...

  3. 131. Palindrome Partitioning(回文子串划分 深度优先)

    Given a string s, partition s such that every substring of the partition is a palindrome. Return all ...

  4. etcd:从应用场景到实现原理的全方位解读 转自infoq

    转自 infoq etcd:从应用场景到实现原理的全方位解读 http://www.infoq.com/cn/articles/etcd-interpretation-application-scen ...

  5. 【Head First Servlets and JSP】笔记 28: 过滤器与包装器

    1.过滤器的执行顺序: <url-pattern> 为第一梯队, <servlet-name> 为第二梯队,梯队内的执行顺序和 DD 里的声明顺序相同. When the co ...

  6. CSS Display(显示)和Visibility(可见性)

    CSS Display(显示)和Visibility(可见性) 一.简介 display属性设置一个元素应如何显示(隐藏不占用空间),visibility属性指定一个元素应可见还是隐藏(隐藏占用空间) ...

  7. 自制mysql的rpm包

    MySQL安装一般使用RPM或者源码安装的方式.RPM安装的优点是快速,方便.缺点是不能自定义安装目录.如果需要调整数据文件和日志文件的存放位置,还需要进行一些手动调整.源码安装的优点是可以自定义安装 ...

  8. 20145302张薇《Java程序设计》第六周学习总结

    20145302 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 串流设计的概念 无论来源和目的地实体形式是什么,只要取得InputStream和OutputStream实例 ...

  9. 20145321 《Java程序设计》第3周学习总结

    20145321 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 4.1 类与对象 1.定义类:类定义时用关键词 class. 一个原始码中可以有多个类定义,但只能有一个公开 ...

  10. mfc配置CAN通信

    配置:把kerneldlls文件夹.ControlCAN.dll.ControlCAN.lib放在工程下面(debug和Release下面,最后需要exe和这些文件在一起):右键工程属性,链接器-&g ...