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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
Jan 06 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
Jul 18 Javascript
jQuery操作cookie
Aug 08 Javascript
JavaScript实现自动切换图片代码
Oct 11 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
Nov 25 Javascript
js实现年月日表单三级联动
Apr 17 Javascript
微信小程序 同步请求授权的详解
Aug 04 Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 Javascript
jQuery实现轮播图及其原理详解
Apr 12 jQuery
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 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数据库连接
2006/10/09 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
Python字符串处理实现单词反转
2017/06/14 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python装饰器语法糖
2019/01/02 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
Python学习之os模块及用法
2020/06/03 Python
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
公司综合部的成员自我评价分享
2013/11/05 职场文书
公司年会晚宴演讲稿
2014/01/06 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
公司领导班子对照材料
2014/08/18 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
领导班子对照检查材料
2014/09/22 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
基于flask实现五子棋小游戏
2021/05/25 Python
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
nginx.conf配置文件结构小结
2022/04/08 Servers