注意,html从上往下解析,如果script在html元素之前,并且是直接执行,将获取不到元素,为null。需要使用window.onload事件声明,或者将js写在html元素后面
1、innerText和innerHTML属性
- html元素调用innerText属性,可以获取元素内部的文本内容,也可以直接赋值文本内容
- 读取,不包括指定元素本身的开始标签和结束标签部分
- 读取,如果调用该属性的html元素内部有嵌套其他标签,依次提取其内部标签的文本内容,同样不包括嵌套标签的开始和结束标签部分
- 读取,如果标签内部存在多个联系空白符,会处理为一个空格
- 赋值,即将待替换文本直接代替调用该属性的元素内部。注意并不会解析为html,而是普通文本
- 赋值,多个连续的空白符会处理为一个空格。\n等转义字符可以识别,不会省略处理
- 读取textarea,为空字符串””,可以基于此进行赋值,但是对\n无法识别,对\’可以识别,对多个连续空格原样输出。不建议对textarea使用该属性
- html元素调用innerHTML属性,可以获取元素内部的html代码,也可以直接赋值html代码
- 读取,不包括指定元素本身的开始标签和结束标签部分。然后之间的所有内容包含返回,包括嵌套的标签、注释、连续的多个空白符
- 读取textarea,正常返回
- 赋值,即将待替换文本直接代替调用该属性的元素内部。注意其可能解析为html元素
var obj = document.getElementById('ob')
obj.innerText//获取文本
obj.innerText='<span style="color:red"></span>'//赋值文本,不会解析
obj.innerHTML//获取html代码
obj.innerHTML='<span style="color:red"></span>'//赋值html,会解析
2、value属性
textarea、input获取输入文本或者设置
value //获取
value="abc"//设置
3、其他属性
attribute_name //基于元素的属性名称获取值
attribute_name= attribute_value //基于元素的属性名称设置值
- 获取属性,只能是该元素由解析引擎定义具有的属性,比如在a标签获取src或者f属性,都是undifined,即使在当前a标签中声明src属性或者f属性。
- 获取属性,如果是可以使用的属性,但是未在当前标签定义,则返回空字符串,比如a标签未定义href属性而进行获取
- 获取属性,地址类设置为相对路径或者根路径,获取到的一般是其表示的绝对地址,比如a标签设置href为abc
- 设置某一属性,不影响其他属性或者事件
- 设置属性之后,会重新加载该html元素,进行生效。可能会进行显式的效果。比如img的src赋值错误,会触发绑定的onerrer事件
- 使用较多的是src属性、href属性
<img alt="aaa" one rror=alert(123) onclick="this.src=1">
4、style属性
可以通过html元素是style属性操作样式,语法:
document.getElementById(id).style.property=新样式
示例:
style.color="blue";
style.fontFamily="Arial";
style.fontSize="larger";
style.visibility='visible' 显示文本
style.visibility='hidden' 隐藏文本
标签:DOM,标签,元素,js,获取,html,文本,属性
From: https://www.cnblogs.com/wd404/p/17335615.html