[TOC]
# 属性操作
## 非表单元素的属性
href、title、id、src、className
~~~
var link = document.getElementById('link');
console.log(link.href);
console.log(link.title);
var pic = document.getElementById('pic');
console.log(pic.src);
~~~
* innerHTML和innerText
~~~
// innerHTML 获取内容的时候,如果内容中有标签,会把标签页获取到
// 原封不动把内容获取到
console.log(box.innerHTML);
// innerText 获取内容的时候,如果内容中有标签,会把标签过滤掉
// innerText 会把前后的换行和空白都去掉
console.log(box.innerText);
~~~
\- HTML转义符
~~~
" "
' '
& &
< < // less than 小于
> > // greater than 大于
空格
© ©
~~~
* innerText的兼容性处理
~~~
var box = document.getElementById('box');
console.log(getInnerText(box));
// 处理innerText的兼容性问题
function getInnerText(element) {
// 判断当前浏览器 是否支持元素的innerText属性,支持innerText 使用element.innerText获取内容
// 如果不支持innerText属性,使用element.textContent获取内容
if (typeof element.innerText === 'string') {
return element.innerText;
} else {
return element.textContent;
}
}
~~~
## 表单元素属性
* value 用于大部分表单元素的内容获取(option除外)
* type 可以获取input标签的类型(输入框或复选框等)
* disabled 禁用属性
* checked 复选框选中属性
* selected 下拉菜单选中属性
~~~
<body>
<input type="button" value="按钮" id="btn" />
<input type="button" value="设置文本框的值" id="btn1" />
<br>
<input type="text" id="txt" value="123" />
</body>
<script>
var btn = document.getElementById('btn');
btn.onclick = function () {
var txt = document.getElementById('txt');
console.log(txt.value);
console.log(txt.type);
console.log(txt.disabled);
txt.disabled = true;
}
var btn1 = document.getElementById("btn1");
btn1.onclick = function () {
var txt = document.getElementById('txt');
txt.value = 'hello world';
}
</script>
~~~
# 自定义属性操作
* getAttribute() 获取标签行内属性
* setAttribute() 设置标签行内属性
* removeAttribute() 移除标签行内属性
* 与element.属性的区别: 上述三个方法用于获取任意的行内属性
~~~
<body>
<div id="box" age="18" personId="1">张三</div>
</body>
<script>
var box = document.getElementById('box');
// 获取自定义属性的值 getAttribute()
// console.log(box.getAttribute('age'));
// console.log(box.getAttribute('personId'));
// 设置自定义属性
// box.setAttribute('sex', 'male');
// box.setAttribute('class', 'test');
// 移除属性
box.removeAttribute('age');
box.removeAttribute('id');
</script>
~~~
# 样式操作
* 使用style方式设置的样式显示在标签行内
~~~
var box = document.getElementById('box');
box.style.width = '100px';
box.style.height = '100px';
box.style.backgroundColor = 'red';
~~~
* 注意
通过样式属性设置宽高、位置的属性类型是字符串,需要加上px
# 类名操作
* 修改标签的className属性相当于直接修改标签的类名
~~~
var box = document.getElementById('box');
box.className = 'show';
~~~
- HTML
- 标签
- 超链接
- 列表
- 表格和表单
- h5新增标签
- 快捷方式
- 标签包含
- CSS
- 选择器
- 行内,块元素,链接
- css三大特性
- 盒子模型
- 定位
- css可见性
- emment书写
- 文本元素
- 外观属性
- 背景
- 浮动
- ps
- 用户界面样式
- 显示和隐藏
- 过渡
- 2D,3D变形
- 动画animation
- 伸缩布局(CSS3)
- BFC
- 优雅降级和渐进增强
- 3D旋转
- 双飞翼和圣杯
- JS基础
- 输出消息的几种方式
- 数据类型
- Date对象
- Math对象
- Array对象
- 字符串常用方法
- 数据类型转换
- 等号运算
- 代码调试
- 数组
- 函数
- WebAPI
- webapi简介
- 获取页面元素
- 事件
- 属性操作
- 创建元素
- 节点操作
- 事件详解
- BOM
- 位置相关属性
- 拖拽弹窗
- 弹出层加遮罩
- ES6
- let和const
- 解构表达式变化
- 函数优化
- map和reduce
- nrm
- npm
- npm基础
- package.json
- 淘宝镜像
- webpack
- 介绍
- 多入口文件(Multiple entry files)
- Webpack CSS loader加载器
- webpack Image loader 加载图片
- uglify-js压缩打包JS
- webpack构建本地服务器
- vue内部指令
- v-if,v-show,v-for
- v-text,v-html
- v-on
- v-model
- v-bind
- v-pre,v-cloak,v-once
- vue全局api
- Vue.directive 自定义指令
- vue.extend构造器的延伸
- vue.set全局操作
- Vue的生命周期(钩子函数)
- Template 制作模版
- Component 初识组件
- Component 组件props 属性设置
- Component 父子组件关系
- Component 标签
- vue选项
- propsData Option全局扩展数据传递
- computed Option 计算选项
- Methods Option 方法选项
- watch选项监控数据
- Mixins 混入选项操作
- Extends Option 扩展选项
- delimiters 选项
- vue实例和内置组件
- 实例属性
- 实例方法
- 实例事件
- 内置组件 -slot
- vue-cli
- vue-cli介绍
- 项目目录结构
- vue-cli模板
- vue-router
- 简介
- 配置子路由
- 参数传递
- 单页面多路由区域操作
- url传递参数
- vscode