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 图片延迟加载并等比缩放插件
Nov 09 Javascript
详细讲解JS节点知识
Jan 31 Javascript
javascript 获取图片尺寸及放大图片
Sep 04 Javascript
jQuery on()方法示例及jquery on()方法的优点
Aug 27 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
Dec 26 Javascript
JS中的多态实例详解
Oct 15 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
Dec 20 Javascript
Js中将Long转换成日期格式的实现方法
Jun 05 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
React事件处理的机制及原理
Dec 03 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
写一个用户在线显示的程序
2006/10/09 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
php常用数组函数实例小结
2016/12/29 PHP
php 可变函数使用小结
2018/06/12 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
JavaScript 乱码问题
2009/08/06 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
Javascript缓存API
2016/06/14 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python3基础之输入和输出实例分析
2014/08/18 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
技术负责人任命书
2014/06/05 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
利用JavaScript写一个简单计算器
2021/11/27 Javascript
Win11 BitLocker 驱动器加密
2022/04/19 数码科技