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 相关文章推荐
js 在定义的时候立即执行的函数表达式(function)写法
Jan 16 Javascript
jquery动态加载js三种方法实例
Aug 03 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
Angular中$cacheFactory的作用和用法实例详解
Aug 19 Javascript
JavaScript 继承详解(五)
Oct 11 Javascript
JS中正则表达式要注意lastIndex属性
Aug 08 Javascript
详解ES6中的代理模式——Proxy
Jan 08 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
vuex 中插件的编写案例解析
Jun 10 Javascript
Vue.js实现可编辑的表格
Dec 11 Javascript
webpack DllPlugin xxx is not defined解决办法
Dec 13 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
Dec 19 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高级编程-函数-郑阿奇
2011/07/04 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
jquery 图片轮换效果
2010/07/29 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
vue中实现高德定位功能
2019/12/03 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
python查看FTP是否能连接成功的方法
2015/07/30 Python
python 生成器协程运算实例
2017/09/04 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
2014年合同管理工作总结
2014/12/02 职场文书
三年级学生期末评语
2014/12/26 职场文书
活动新闻稿范文
2015/07/17 职场文书
关于Python使用turtle库画任意图的问题
2022/04/01 Python