测试开发进阶(十四)
欢迎关注我呀~「测试游记」「zx94_11」
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
节点树中的节点彼此拥有层级关系。
- 父(parent)
- 子(child)
- 同胞(sibling)
父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)
获取页面标签
通过 id 找到 HTML 元素(常用)
document.getElementById()
通过标签名找到 HTML 元素
获取出来的是列表
getElementsByTagName()
通过类名找到 HTML 元素(通过类名查找 HTML 元素在 IE 5,6,7,8 中无效。)
取出来的是列表
getElementsByClassName()
1 | <div class="box1" id="b1">box1</div> |
通过document.getElementById('b1')
找到id
是b1
的对象,然后把它的颜色设为红色
如果把javascript写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载
解决办法:
- javascript放到页面最下边
- 放入window.onload触发的函数里面
window.onload函数在页面加载完后才执行
操作标签内容
innerHTML 属性
获取元素内容的最简单方法是使用 innerHTML 属性。innerHTML 属性对于获取或替换 HTML 元素的内容很有用。
读取节点文本
1
2
3var odv1 = document.getElementById('box');
var content1 = odv1.innerHTML;
alert(content1)写入(修改)节点文本
1
2var odv1 = document.getElementById('box');
odv1.innerHTML = 哈哈哈;
修改标签属性
操作属性的方法
.
操作[ ]
操作
读取属性
1
2
3
4
5
6
7<input type="text" id="input_user" name="user" value="python">
// 读取属性
var odv1 = document.getElementById('input_user');
var idValue = odv1.id;
var nameValue = odv1['name'];
alert(idValue);
alert(nameValue);修改属性
1
2
3
4
5
6<a href="" id="a1" >「测试游记」</a>
// 修改属性
a1 = document.getElementById('a1');
// a1.href = 'http://www.666.com';
a1['href'] = 'http://www.666.com';注意点:操作class属性的时候,要将属性名字改为className
1
a1.className = 'hied';
修改css样式
节点.style.样式名
节点.style['样式名']
1 | <div class="dv1" id="dv01" >这个是div1</div> |
1 | //修改css样式 |
oclock 事件
- onclick事件:点击了该 HTML 元素
- 事件属性添加 JavaScript 代码:
1 | // 给div定义一个onclick事件,触发该事件的时候,调用该事件指定的函数 |
jquery
jQuery是目前使用最广泛的javascript函数库。
jQuery的版本分为1.x系列和2.x、3.x系列
1.x系列兼容低版本的浏览器
2.x、3.x系列放弃支持低版本浏览器
目前使用最多的是1.x系列的。
jquery的口号和愿望 Write Less, Do More(写得少,做得多)
官方网站:http://jquery.com/
在线手册:https://www.runoob.com/manual/jquery/
下载
版本下载:https://code.jquery.com/
1 | <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script> |
jquery基本的选择器
1 | // id选择器 |
选择同胞和父辈元素
1 | //选择div元素前面紧挨的同辈元素 |
选择过滤
1 | // 选择包含p元素的div元素 |
获取元素的索引值
有时候需要获得匹配元素相对于其同胞元素的索引位置,此时可以用index()方法获取
1 | var $li = $('.list li').eq(1); |
获取元素样式
1 | // 获取div的样式 |
修改元素样式
1 | //设置div的样式 |
添加或者移除class属性
1 | // 添加class属性 |
案例
代码:
css
1 | .title { |
JavaScript
1 | $(function () { |
html
1 |
|