js使用document.querySelector获取元素
使用 document.querySelector() 和 document.querySelectorAll(), 将 CSS选择器 作为参数传入即可 // 标签选择器 document.que
顺晟科技
2021-06-16 10:34:52
250
原因:
1.1.xhtml中的不兼容性
2.页面加载后,整个页面将被重绘(这应该是最关键的)
3.它不能指定插入位置
三个例子让你更好地理解文件
1.特点1:直接调用document.write不调用document.open()会自动调用document.open()
打开控制台并执行以下代码一次
Document.write(1) //结果是:1
Document.write(1) //结果是:11
Document.close() //关闭文档流并强制呈现
Document.write(1) //这里会自动执行document.open()重新渲染整个页面,结果是1
2.特性2:当在onload中执行时(一旦文档流被渲染),整个文档流将被替换
!声明文档类型
html lang='en '
头
meta charset='UTF-8 '
标题文档/标题
/head
body on load=' NewContent();'
H1原文/h1
脚本
函数newContent() {
document . open();
文件。write(' h1new content 1/h1 ');
document . close();
document . open();
Document.write('h1新内容2/h1 ');
document . close();
}
/script
/body
/html
结果是:新内容2
3.特征3:如果文档流是浏览器创建的,不能手动关闭,document.close()函数只能关闭document.open()函数创建的文档流。
!声明文档类型
html lang='en '
头
meta charset='UTF-8 '
标题文档/标题
/head
身体
H1原文/h1
脚本
函数newContent() {
document . open();
文件。write(' h1new content 1/h1 ');
document . close();
document . open();
Document.write('h1新内容2/h1 ');
document . close();
}
new Content();
/script
/body
/html
结果依次是三行:原始文本、新内容1和新内容2
特性4:相对于特性3中的document.write,后者在操作DOM(insertAdjacentHTML)[很多人在网上说的替换解决方案]的方式上性能会更好。
InsertAdjacentHTML的类似DOM操作是网上很多人说的解决方案,但是网上的解决方案是和特性二的document.write比较,确实比特性二的document.write性能更好,因为不需要重画整个页面。
与document.write in特性三相比,insertadjacenttml具有控制插入位置的优势,但性能并不高,因为insertadjacenttml需要先获取DOM元素,然后通过DOM操作写入内容,而document.write in特性三在渲染时直接写入文档流,理论上优于document.write in特性三
接下来看看代码
!声明文档类型
html lang='en '
头
meta charset='UTF-8 '
标题文档/标题
/head
body id='xixi '
H1原文/h1
脚本
函数newContent() {
document . open();
文件。write(' h1new content 1/h1 ');
document . close();
var time1=新日期();
document . open();
Document.write('h1新内容2/h1 ');
document . close();
var time 2=new Date();
Console.log('document.write耗时: '(时间2-时间1))
}
new Content();
var time3=新日期();
var D1=document . getelementbyid(' Xixi ');
D1 . insertadjacenthtml(' afterend ',' div id=' two ' insertadjacenthtml/div ');
var time4=新日期();
console . log(' insertadjacenthtml取:' (time4-time3))
/script
/body
/html
运行结果: (
Document.write需要:0个小时
InsertAdjacentHTML取:1
[的确,用三个特征来写文档会更好]
总结:我们对文档编写功能有一些误解。不是说document.write函数有问题,而是觉得不对的人用错了。