js中script的上下放置区别,Dom的增删改创建操作实例分析


Posted in Javascript onDecember 16, 2019

本文实例讲述了js中script的上下放置区别,Dom的增删改创建操作。分享给大家供大家参考,具体如下:

回顾

javascript分为三部分:

1、ECMAScript5.0 es6(阮一峰) es7 es8    es6中有类的概念

声明变量 var  let(es6中语法)
内置函数 Date Math.random

if else  switch while do-while  for

2、DOM  Document Object Model

获取DOM事件的三种方式

  • getElementById()
  • getElementsByTagName()
  • getElementsByClassName()

DOM的三步走

  • ①、事件对象
  • ②、事件、
  • ③、事件驱动

值操作: <div></div> too liang
oDiv.innerText='too liang';仅仅设置文本
oDiv.innerHTML='<h2>too liang</h2>';文本和标签一起渲染
oInput.value='alex';仅仅是对表单控件有效

标签属性操作;

设置类名:oDiv.className+=' active';追加类名、
设置id:oDiv.id='box';

样式操作:

oDiv.style.(css中所有的样式属性)

注意驼峰体:如果margin-left 使用js的时候marginLeft

3、BOM

<script></script>在head和body中放置的区别

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>
    //加载顺序:1DOM元素加载 2图片加载
    //1等待DOM和图片资源加载完成之后才调用window.onload后面的方法
    //2事件覆盖事件,也即同时存在多个window.noload时,后面的覆盖前面的
    window.onload=function () {
      // var oBtn=document.getElementById('btn');
      // console.log(oBtn);
      function $(idName){
        return document.getElementById(idName);
      }
      $('btn').onclick=function(){



。。。。。。
      };
    }
  </script> <!--没有操作DOM时可以将script放在这里面,如果要使用DOM的相关操作,使用window.onload,建议最好写在body里面-->
</head>

DOM的增删改查

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<button id="btn">追加</button>
<button id="del">删除</button>
<div id="box">
  <p>测试段落</p>
</div>
  <script>
    //加载顺序:1DOM元素加载 2图片加载
    //1等待DOM和图片资源加载完成之后才调用window.onload后面的方法
    //2事件覆盖现在,同时存在多个window.noload时,后面的覆盖前面的
    window.onload=function () {
      // var oBtn=document.getElementById('btn');
      // console.log(oBtn);
      function $(idName){
        return document.getElementById(idName);
      }
      $('btn').onclick=function(){
        //1DOM的创建
        var oP=document.createElement('p');
        //2 DOM的追加
        $('box').appendChild(oP);
        //3 DOM的修改
        oP.innerText='alex';
        oP.id='p1';//设置id
        var oA=document.createElement('abc');//自定义创建
        oA.innerText='321';
        oA.id='abc';
        $('box').insertBefore(oA,oP);//在oA之前插入
      };
      //4 DOM的删除操作
      $('del').onclick=function(){
        $('box').removeChild($('p1'));
        $('box').removeChild($('abc'));
      }
    }
  </script>
</body>
</html>

应用场景分析

如果是一开始页面有初始化渲染开销;应用:频繁的切换:display:none|block  或者 追加className 删除className

如果是DOM的创建和删除 如果你是频繁的切换,对DOM的性能消耗很大,所以最好应用在少量的切换上面

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
Apr 18 Javascript
WEB高性能开发之疯狂的HTML压缩
Jun 19 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
多种jQuery绑定事件的实现方式
Jun 13 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
JavaScript动态数量的文件上传控件
Nov 18 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
Jun 24 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
js中实现继承的五种方法
Jan 25 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 #Javascript
javascript自定义右键菜单插件
Dec 16 #Javascript
js中的面向对象之对象常见创建方法详解
Dec 16 #Javascript
js实现数字滚动特效
Dec 16 #Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 #Javascript
js实现内置计时器
Dec 16 #Javascript
js实现秒表计时器
Dec 16 #Javascript
You might like
PHP中的extract的作用分析
2008/04/09 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
Javascript 入门基础学习
2010/03/10 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
python 网络爬虫初级实现代码
2016/02/27 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python基于http下载视频或音频
2018/06/20 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
项目经理任命书范本
2014/06/05 职场文书
三八节标语
2014/06/27 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
银行招聘自荐信
2015/03/06 职场文书
出国留学单位推荐信
2015/03/26 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
学校教学管理制度
2015/08/06 职场文书
学校安全管理制度
2015/08/06 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书