当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
节点树中的节点彼此拥有层级关系。
父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)
document.getElementById()
getElementsByTagName()
getElementsByClassName()
<div class="box1" id="b1">box1</div>
<script type="text/javascript">
var box1 = document.getElementById('b1');
box1.style['color'] = 'red';
</script>
通过document.getElementById('b1')
找到id
是b1
的对象,然后把它的颜色设为红色
红色
如果把javascript写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载
解决办法:
window.onload函数在页面加载完后才执行
.
操作[ ]
操作节点.style.样式名
节点.style['样式名']
<div class="dv1" id="dv01" >这个是div1</div>
//修改css样式
var odv1 = document.getElementById('dv01');
odv1.style.width = '300px';
odv1.style['height'] = '200px';
odv1.style.background = 'cyan';
// 给div定义一个onclick事件,触发该事件的时候,调用该事件指定的函数
<div class="dv1" id="dv01" onclick="tank()">这个是div1</div>
// 定义一个函数,负责弹框
function tank() {
alert('hello')
}
jQuery是目前使用最广泛的javascript函数库。 jQuery的版本分为1.x系列和2.x、3.x系列 1.x系列兼容低版本的浏览器 2.x、3.x系列放弃支持低版本浏览器 目前使用最多的是1.x系列的。 jquery的口号和愿望 Write Less, Do More(写得少,做得多)
<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
// id选择器
$('#btn1')
// 类选择器
$('.box1')
// 标签选择器
$('li')
// 层级选择器
$('#ul li span')
// 属性选择器
$('input[name=user]')
//选择div元素前面紧挨的同辈元素
$('div').prev();
//选择div元素之前所有的同辈元素
$('div').prevAll();
//选择div元素后面紧挨的同辈元素
$('div').next();
//选择div元素后面所有的同辈元素
$('div').nextAll();
//选择div的父元素
$('div').parent();
//选择div的所有子元素
$('div').children();
//选择div的同级元素
$('div').siblings();
//选择div内的class等于cs的元素
$('div').find('#cs li');
// 选择包含p元素的div元素
$('div').has('p');
//选择class不等于cs的div元素
$('div').not('.cs');
//选择class等于cs的div元素
$('div').filter('.cs');
//选择第6个div元素
$('div').eq(5);
有时候需要获得匹配元素相对于其同胞元素的索引位置,此时可以用index()方法获取
var $li = $('.list li').eq(1);
alert($li.index()); // 弹出1
<ul class="list">
<li>1</li>
<li>2</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
// 获取div的样式
$("div").css("width");
$("div").css("color");
//设置div的样式
$("div").css("width","30px");
$("div").css("height","30px");
$("div").css({fontSize:"30px",color:"red"});
// 添加class属性
$("#div1").addClass("cs2")
// 移除class属性
$("#div1").removeClass("cs2")
// 重复切换样式
$("#div1").toggleClass("cs2")
案例
代码:
.title {
width: 100%;
height: 100px;
background: #009FCC;
text-align: center;
color: #fff;
font: bold 28px/100px "微软雅黑";
}
.left_menu {
width: 200px;
height: 600px;
background: #dddddd;
position: absolute;
top: 120px;
}
.left_menu ul {
margin: 0;
padding: 0;
}
.left_menu .li1 {
float: left;
width: 100%;
height: 60px;
color: #ffffff;
list-style-type: none;
font: normal 20px/60px "微软雅黑";
background: #009FCC;
text-indent: 30px;
margin-bottom: 5px;
}
.hied {
display: none;
}
.content{
width: 600px;
height: 600px;
position: absolute;
left: 270px;
background: #dddddd;
}
$(function () {
$('.li1').click(function () {
$(this).next().show().siblings('div').hide();
});
$('a').attr('href', 'https://w.url.cn/s/A1cCbyT');
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>「测试游记」- 案例</title>
<script src="js/jquery-1.12.4.min.js"></script>
<script src="js/main.js"></script>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<div class="title">自动化测试平台</div>
<div class="left_menu">
<ul>
<li class="li1">用例管理</li>
<div class="hied">
<ul>
<li>查看用例</li>
<li>添加用例</li>
<li>修改用例</li>
</ul>
</div>
<li class="li1">套件管理</li>
<div class="hied">
<ul>
<li>查看套件</li>
<li>添加套件</li>
<li>修改套件</li>
</ul>
</div>
<li class="li1">环境管理</li>
<div class="hied">
<ul>
<li>查看环境</li>
<li>添加环境</li>
<li>修改环境</li>
</ul>
</div>
<li class="li1">项目管理</li>
<div class="hied">
<ul>
<li>查看项目</li>
<li>添加项目</li>
<li>修改项目</li>
</ul>
</div>
</ul>
</div>
<div class="content">
<a href="">「测试游记」</a>
<br>
<img src="img/qrcode.jpg" alt="「测试游记」" style="width: 200px;height: 200px;">
</div>
</body>
</html>