0160 DOM操作元素 之 改变元素内容(获取或设置)-- innerText、innerHTML
JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等。(注意:这些操作都是通过元素对象的属性实现的)
1.5.1 改变元素内容(获取或设置)
element.innerText:从起始位置到终止位置的内容, 但它去除 html 标签, 同时空格和换行也会去掉,不识别html标签
element.innerHTML:从起始位置到终止位置的全部内容,包括 html 标签,同时保留空格和换行,识别html标签
1.5.1.1 innerText改变元素内容
<body>
<button>显示当前系统时间</button>
<div>某个时间</div>
<p>1123</p>
<script>
// 当我们点击了按钮, div里面的文字会发生变化
// 1. 获取元素
var btn = document.querySelector('button');
var div = document.querySelector('div');
// 2.注册事件
btn.onclick = function() {
// div.innerText = '2019-6-6';
div.innerHTML = getDate();
}
function getDate() {
var date = new Date();
// 我们写一个 2019年 5月 1日 星期三
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
var day = date.getDay();
return '今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day];
}
</script>
</body>
1.5.1.2 innerText和innerHTML的区别
1、获取内容时的区别:(1)innerText从起始位置到终止位置的内容,innerHTM从起始位置到终止位置的`全部内容`; (2)innerText会去除空格和换行,而innerHTML会保留空格和换行。
2、设置内容时的区别:innerText不会识别html标签,而innerHTML会识别标签 。
案例代码**
<body>
<div></div>
<p>
我是文字
<span>123</span>
</p>
<script>
// innerText 和 innerHTML的区别
// 1. innerText 不识别html标签 非标准 去除空格和换行
var div = document.querySelector('div');
// div.innerText = '<strong>今天是:</strong> 2019'; 显示 <strong>今天是:</strong> 2019
// 2. innerHTML 识别html标签 W3C标准 保留空格和换行的
div.innerHTML = '<strong>今天是:</strong> 2019'; // 今天是 变为粗体
// 这两个属性是可读写的 可以获取元素里面的内容
var p = document.querySelector('p');
console.log(p.innerText); // 我是文字 123
console.log(p.innerHTML); // 我是文字 123 <span>123</span>
</script>
</body>