<style>
如果整个页面的宽度 > 900px时:
{
.c{
共有
}
.c1{
独有
}
}
.c2{
独有
}
</style>
<div class='c c1'></div>
<div class='c c2'></div>
宽度,百分比
页面最外层:像素的宽度 => 最外层设置绝对宽度
img{
border: 0;
}
d、作业中的数量输入框
值 | 描述 |
---|---|
absolute |
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
fixed |
生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
relative |
生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
inherit | 规定应该从父元素继承 position 属性的值。 |
值 | 描述 | CSS |
---|---|---|
background-color | 规定要使用的背景颜色。 | 1 |
background-position | 规定背景图像的位置。 | 1 |
background-size | 规定背景图片的尺寸。 | 3 |
background-repeat | 规定如何重复背景图像。 | 1 |
background-origin | 规定背景图片的定位区域。 | 3 |
background-clip | 规定背景的绘制区域。 | 3 |
background-attachment | 规定背景图像是否固定或者随着页面的其余部分滚动。 | 1 |
background-image | 规定要使用的背景图像。 | 1 |
inherit | 规定应该从父元素继承 background 属性的设置。 | 1 |
未访问、已访问、悬浮和活动链接,并设置它们的样式:
a:link {color:blue;}
a:visited {color:blue;}
a:hover {color:red;}
a:active {color:yellow;}
值 | 描述 |
---|---|
auto | 默认。堆叠顺序与父元素相等。 |
number | 设置元素的堆叠顺序。 |
inherit | 规定应该从父元素继承 z-index 属性的值。 |
值 | 描述 | 测试 |
---|---|---|
value | 规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。 | 测试 |
inherit | 应该从父元素继承 opacity 属性的值。 |
JavaScript代码存在形式:
- Head中
<script>
//javascript代码
alert(123);
</script>
<script type="text/javascript">
//javascript代码
alert(123);
</script>
- 文件
<script src='js文件路径'> </script>
PS: JS代码需要放置在 <body>标签内部的最下方
多行注释 /* */
<script
type
=
"text/javascript"
>
/
/
全局变量
name
=
'seven'
;
function func(){
/
/
局部变量
var age
=
18
;
/
/
全局变量
gender
=
"男"
}
<
/
script>
a.chartAt(索引位置)
a.substring(起始位置,结束位置)
a.lenght 获取当前字符串长度
obj.substring(
from
, to) 根据索引获取子序列
obj.
slice
(start, end) 切片
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号
obj.splice(n,
0
,val) 指定位置插入元素
obj.splice(n,
1
,val) 指定位置替换元素
obj.splice(n,
1
) 指定位置删除元素
obj.
slice
( ) 切片
a = [11,22,33,44]
for(var item in a){
console.log(item);
}
a = {'k1':'v1','k2':'v2'}
for(var item in a){
console.log(item);
}
var names = ["alex", "tony", "rain"]; for(var i=0;i<names.length;i++){
console.log(i);
console.log(names[i]);
}
var names = ["alex", "tony", "rain"]; for(var index in names){
console.log(index);
console.log(names[index])
}
for(var i=0;i<10;i=i+1){
}
a = [11,22,33,44]
for(var i=0;i<a.length;i=i+1){
}
(3)不支持字典的循环
}else if(条件){
}else if(条件){
}else{
}
== 值相等
=== 值和类型都相等
&& and
|| or
var arg
=
111
;
function f3(){
console.log(arg);
}
return
f3;
}
ret
=
f2();
ret();
标签.innerText
对标签内部文本进行重新复制
标签.innerText = ""
b. className
tag.className =》 直接整体做操作
tag.classList.add('样式名') 添加指定样式
tag.classList.remove('样式名') 删除指定样式
PS:
<div onclick='func();'>点我</div>
<script>
function func(){
}
</script>
获取值
checkbox对象.checked
设置值
checkbox对象.checked = true
document.childNodes 继承自上面讲的Node类型,可以返回文档的直接子节点(通常包括文档声明和html节点)
document.documentElement 可以直接拿到html节点的引用(等价于document.getElementsByTagName(“html”)[0])。
document.body body节点的引用
document.title 页面的title,可以修改,会改变浏览器标签上的名字
document.URL 页面的url
document.referrer 取得referrer,也就是打开这个页面的那个页面的地址,做来源统计时候比较有用
document.domain 取得域名,可以设置,但是通常只能设置为不包含子域名的情况,在一些子域名跨域情况下有效。
try {
/ / 这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
} catch (e) { / / 如果 try 代码块中抛出了异常,catch代码块中的代码就会被执行。
/ / e是一个局部变量,用来指向Error对象或者其他抛出的对象
} finally {
/ / 无论 try 中代码是否有异常抛出(甚至是 try 代码块中有 return 语句), finally 代码块中始终会被执行。
} |
注:主动跑出异常 throw Error('xxxx')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个页面</title>
<style>
img{
border: 0;
}
</style>
</head>
<body>
<a href="http://www.sogou.com">asdf</a>
<a href="http://www.sogou.com">
<img src="wgl.jpg" style="width: 200px;height: 300px">
</a> </body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第二个页面</title>
<style>
.pg-header {
<!-- 高度48px -->
height: 48px;
background-color: black;
color: #DDDDDD;
position: fixed;
top: 0;
right: 0;
left: 0;
}
.pg-body{
background-color: #DDDDDD;
height: 5000px;
<!-- 离顶部55px -->
margin-top: 55px; }
</style>
</head> <body>
<div class="pg-header">头部</div>
<div class="pg-body">内容</div>
<div style="position: relative;width: 500px;height: 200px;border: 1px solid red;margin: 0 auto;">
<div style="position: absolute;left:0;bottom: 0;width: 50px;height: 50px;background-color: black; "> </div>
</div>
<div style="position: relative;width: 500px;height: 200px;border: 1px solid red;margin: 0 auto;">
<div style="position: absolute;right:0;top: 0;width: 50px;height: 50px;background-color: black; "> </div>
</div> </body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第三个页面</title>
</head>
<body>
<div style="z-index: 10;position: fixed;top:50%;left:50%;
margin-left: -250px;margin-top: -200px;background-color: white;height: 40px;width: 500px;">
<input type="text" />
<input type="text" />
<input type="text" />
</div>
<div style="z-index: 9;position: fixed;background-color: black;
top:0;
bottom: 0;
right: 0;
left:0;
opacity: 0.5;
"></div>
<div style="height: 5000px;background-color: green;">
这是一个嵌套!
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第四个页面</title>
</head>
<body>
<div style="height: 500px;width: 500px;overflow: auto">
<img src="wgl.jpg">
</div>
<div style="height: 500px;width: 500px;overflow: hidden">
<img src="2.jpg">
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第五个页面</title>
<style>
.pg-header{
position: fixed;
right:0;
left:0;
top:0;
height:48px;
background-color: #2459a2;
line-height:48px;
}
.pg-body{
margin-top:50px;
}
.w{
width:980px;
margin:0 auto;
}
.pg-header .menu{
display: inline-block;
/*上 右 下 左*/
padding:0 10px 0 10px;
color: white;
}
/*当鼠标移动到当前标签上时,以下css属性才生效*/
.pg-header .menu:hover{
background-color: blue;
}
</style>
</head>
<div class="pg-header">
<div class="w">
<a class="logo">LOGO</a>
<a class="menu">全部</a>
<a class="menu">42区</a>
<a class="menu">段子</a>
<a class="menu">1024</a>
</div>
<div class="pg-body">
<div class="w">a</div>
</div>
</div>
<body> </body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第六个页面</title>
</head>
<body>
<div style="height:100px;"></div>
<div style="background-image: url(icon_18_118.png);background-repeat: no-repeat;height: 40px;width:40px;border: 1px solid red;"></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第七个页面</title>
</head>
<body>
<div style="height: 35px;width: 400px;position: relative;">
<input type="text" style="height: 35px;width:370px;padding-right: 30px;">
<span style="position: absolute;right: 6px;top:10px;background-image: url(i_name.jpg);
height:16px;width: 16px;display: inline-block;"></span>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第八个页面</title>
</head>
<body>
<div id="i1">欢迎老男孩莅临指导</div>
<script>
function func() {
var tag = document.getElementById('i1');
var content = tag.innerText;
var f = content.charAt(0);
var l = content.substring(1,content.length);
var new_content = l + f;
tag.innerText = new_content;
}
setInterval('func()',500);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第九个页面</title>
</head>
<body>
<div id="i1">我是i1</div>
<a>asdf</a>
<a>909</a>
<a>kafsufd</a>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第十个页面</title>
<style>
.hide{
display: none;
}
.c1{
position: fixed;
left:0;
top:0;
right:0;
bottom:0;
background-color: black;
opacity:0.6;
z-index:9
}
.c2{
width: 500px;
height: 400px;
background-color: white;
position: fixed;
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -200px;
z-index: 10; }
</style>
</head>
<body style="margin: 0;">
<div>
<input type="button" value="添加" onclick="ShowModel();"/>
</div>
<!-- 遮罩层开始 -->
<div id="i1" class="c1 hide"></div>
<!-- 遮罩层结束 -->
<!-- 弹出框开始 -->
<div id="i2" class="c2 hide">
<p><input type="text"/></p>
<p><input type="text"/></p>
<p>
<input type="button" value="取消" onclick="HideModel();"/>
<input type="button" value="确定"/>
</p>
</div>
<!-- 弹出框结束 -->
<script>
function ShowModel() {
document.getElementById('i1').classList.remove('hide')
document.getElementById('i2').classList.remove('hide')
}
function HideModel() {
document.getElementById('i1').classList.add('hide')
document.getElementById('i2').classList.add('hide') }
</script>
</body>
</html>
t11.html
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Title</title> | |
<style> | |
.hide{ | |
display: none; | |
} | |
.c1{ | |
position: fixed; | |
left: 0; | |
top: 0; | |
right: 0; | |
bottom: 0; | |
background-color: black; | |
opacity: 0.6; | |
z-index: 9; | |
} | |
.c2{ | |
width: 500px; | |
height: 400px; | |
background-color: white; | |
position: fixed; | |
left: 50%; | |
top: 50%; | |
margin-left: -250px; | |
margin-top: -200px; | |
z-index: 10; | |
} | |
</style> | |
</head> | |
<body style="margin: 0;"> | |
<div> | |
<input type="button" value="添加" onclick="ShowModel();" /> | |
<input type="button" value="全选" onclick="ChooseAll();" /> | |
<input type="button" value="取消" onclick="CancleAll();" /> | |
<input type="button" value="反选" onclick="ReverseAll();" /> | |
<table> | |
<thead> | |
<tr> | |
<th>选择</th> | |
<th>主机名</th> | |
<th>端口</th> | |
</tr> | |
</thead> | |
<tbody id="tb"> | |
<tr> | |
<td> | |
<input type="checkbox" /> | |
</td> | |
<td>1.1.1.1</td> | |
<td>190</td> | |
</tr> | |
<tr> | |
<td><input type="checkbox"f id="test" /></td> | |
<td>1.1.1.2</td> | |
<td>192</td> | |
</tr> | |
<tr> | |
<td><input type="checkbox" /></td> | |
<td>1.1.1.3</td> | |
<td>193</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
<!-- 遮罩层开始 --> | |
<div id="i1" class="c1 hide"></div> | |
<!-- 遮罩层结束 --> | |
<!-- 弹出框开始 --> | |
<div id="i2" class="c2 hide"> | |
<p><input type="text" /></p> | |
<p><input type="text" /></p> | |
<p> | |
<input type="button" value="取消" onclick="HideModel();"/> | |
<input type="button" value="确定"/> | |
</p> | |
</div> | |
<!-- 弹出框结束 --> | |
<script> | |
function ShowModel(){ | |
document.getElementById('i1').classList.remove('hide'); | |
document.getElementById('i2').classList.remove('hide'); | |
} | |
function HideModel(){ | |
document.getElementById('i1').classList.add('hide'); | |
document.getElementById('i2').classList.add('hide'); | |
} | |
function ChooseAll(){ | |
var tbody = document.getElementById('tb'); | |
// 获取所有的tr | |
var tr_list = tbody.children; | |
for(var i=0;i<tr_list.length;i++){ | |
// 循环所有的tr,current_tr | |
var current_tr = tr_list[i]; | |
var checkbox = current_tr.children[0].children[0]; | |
checkbox.checked = true; | |
} | |
} | |
function CancleAll(){ | |
var tbody = document.getElementById('tb'); | |
// 获取所有的tr | |
var tr_list = tbody.children; | |
for(var i=0;i<tr_list.length;i++){ | |
// 循环所有的tr,current_tr | |
var current_tr = tr_list[i]; | |
var checkbox = current_tr.children[0].children[0]; | |
checkbox.checked = false; | |
} | |
} | |
function ReverseAll(){ | |
var tbody = document.getElementById('tb'); | |
// 获取所有的tr | |
var tr_list = tbody.children; | |
for(var i=0;i<tr_list.length;i++){ | |
// 循环所有的tr,current_tr | |
var current_tr = tr_list[i]; | |
var checkbox = current_tr.children[0].children[0]; | |
if(checkbox.checked){checkbox.checked = false;}else{checkbox.checked = true;}}} | |
</script> | |
</body> | |
</html> |
t12.html
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Title</title> | |
<style> | |
.hide{ | |
display: none; | |
} | |
.item .header{ | |
height: 35px; | |
background-color: #2459a2; | |
color: white; | |
line-height: 35px; | |
} | |
</style> | |
</head> | |
<body> | |
<div style="height: 48px"></div> | |
<div style="width: 300px"> | |
<div class="item"> | |
<div id='i1' class="header" onclick="ChangeMenu('i1');">菜单1</div> | |
<div class="content"> | |
<div>内容1</div> | |
<div>内容1</div> | |
<div>内容1</div> | |
</div> | |
</div> | |
<div class="item"> | |
<div id='i2' class="header" onclick="ChangeMenu('i2');">菜单2</div> | |
<div class="content hide"> | |
<div>内容2</div> | |
<div>内容2</div> | |
<div>内容2</div> | |
</div> | |
</div> | |
<div class="item"> | |
<div id='i3' class="header" onclick="ChangeMenu('i3');">菜单3</div> | |
<div class="content hide"> | |
<div>内容3</div> | |
<div>内容3</div> | |
<div>内容3</div> | |
</div> | |
</div> | |
<div class="item"> | |
<div id='i4' class="header" onclick="ChangeMenu('i4');">菜单4</div> | |
<div class="content hide"> | |
<div>内容4</div> | |
<div>内容4</div> | |
<div>内容4</div> | |
</div> | |
</div> | |
</div> | |
<script> | |
function ChangeMenu(nid){ | |
var current_header = document.getElementById(nid); | |
var item_list = current_header.parentElement.parentElement.children; | |
for(var i=0;i<item_list.length;i++){ | |
var current_item = item_list[i]; | |
current_item.children[1].classList.add('hide'); | |
} | |
current_header.nextElementSibling.classList.remove('hide'); | |
} | |
</script> | |
</body> | |
</html> |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Title</title> | |
</head> | |
<body> | |
<div> | |
<div></div> | |
<div> | |
c1 | |
</div> | |
</div> | |
<div> | |
<div></div> | |
<div id="i1"> | |
c2 | |
</div> | |
</div> | |
<div> | |
<div></div> | |
<div> | |
c3 | |
</div> | |
</div> | |
</body> | |
</html> |
通过对元素的ID访问,这是DOM一个基础的访问页面元素的方法.
example:
<div id="divid">测试</div>
<script language="javascript">
var div=document.getElementByID("divid”);
alert (div.nodeName); //显示元素名
</script>
如果id在元素中不是唯一的,那么获得的将是第一个ID.
2.getElementsByName(name)
仅用于input radio checkbox等元素,返回名字为name的元素数组
example:
<div name="george"></div>
<input name="george"></div>
<script language=javascript>
var ge=document.getElementsByName("george");
alert (georges.length); //获取georges个数,对div唔效果
</script>
3.getElementsByTagName(tagname)
返回具有tagname的元素列表数组.处理大的DOM结构会用到它
(二),DOM Element常用方法
1.appendChild(node) //增加内容
向当前对象追加节点,example:
<div id="test">123</div>
<script type="text/javascript">
var newdiv=document.createElement("div");
var newtext=document.createTextNode("A new div");
newdiv.appendChild(newtext) ;
document.getElementById("test").appendChild(newdiv) ;
</script>
当然,上面的功能用document.getElementById("test").innerHTML="测试一下"就可实现,遗憾的是,innerHTML不属于DOM.
2,removeChild(childreference)
移除当前节点的子节点,并返回节点
<div id="father"><div id="child">A child</div></div>
<script type="text/javascript">
var childnode=document.getElementById("child");
var removednode=document.getElementById("father").removeChild(childnode)
</script>
3.cloneNode(deepBoolean)
复制并返回当前的复制节点,由于复制了原节点的id属性,所以在document树中要改ID属性,以确保ID唯一性.
4,insertBefore(newElment,targetElement) 插入新的节点
在当前节点插入一个新节点,如果targetElement为null,那新节点为最后节点.
example:
<body>
<span id="lovespan">熊掌我所欲也!</span>
</body>
<script type="text/javascript">
var lovespan=document.getElementById("lovespan"); //获取id
var newspan=document.createElement("span");
var newspanref=document.body.insertBefore(newspan, lovespan);
newspanref.innerHTML="鱼与";
</script>
(三),DOM Element常用属性
1、childeNodes 返回所有子节点对象,
例如
<ul id="mylist">
<li>美国</li>
<li>意大利</li>
<li>加拿大</li>
</ul>
<script>
var msg="" ;
var mylist=document.getElementById("mylist")
for (i=0; i<mylist.childNodes.length; i++){
var li=mylist.childNodes[i];
msg+=li.innerText;
}
alert (msg);
</script>
2,innerHTML
这是一个标准,但它并不书DOM
例如:
<div id="bbb"><span id="aaa">我拉</span></div>
<input type=button value="点击看看">
<script language="javascript">
function change()
{
document.getElementById("aaa").innerHTML= "修改修改";
}
</script>
3,style
这是一个极其重要的属性,可以获取并修改每个单独的样式.
例如:document.getElementByTagName("body")[0].style.backgroundColor="#cccccc"
4、firstChild 返回第一个子节点
lastChild 返回最后一个子节点
parentNode 返回父节点的对象。
nextSibling 返回下一个兄弟节点的对象
previousSibling 返回前一个兄弟节点的对象
nodeName 返回节点的HTML标记名称,使用英文的大写字母,如P, FONT
5,click()
执行元素的一次点击,可以用于通过脚本来触发onClick函数