dom 节点篇 ---单体模式

时间:2022-09-21 08:18:05

<script>
var creatTag={
oUl:document.createElement('ul'),
oDiv:document.createElement('div'),
oText:document.createTextNode('添加新项:'),
oInpu:document.createElement('input'),
oBtn:document.createElement('button'),
oTxt:document.createTextNode('点击'),
oBtn1:document.createElement('button'),
oTx:document.createTextNode('删除'),

appChd:function(){
this.oBtn.appendChild(this.oTxt);
this.oBtn1.appendChild(this.oTx);
this.oDiv.appendChild(this.oInpu);
this.oDiv.insertBefore(this.oText,this.oInpu);//insertbefore 添加一个参数是总是报错,得两个参数
//oUl.appendChild(oDiv);
document.body.appendChild(this.oUl);
document.body.appendChild(this.oDiv);
document.body.appendChild(this.oBtn);
document.body.appendChild(this.oBtn1);
},
addTag:function(){
var that=this;
var intV=that.oInpu.value;//获取到的值
var aLi=document.createElement('li');
var intN=document.createTextNode(intV);//创建一个文本节点,把获取到的值,放进去
aLi.appendChild(intN);
//oUl.appendChild(aLi);新添加的节点都放到最后了
if(this.oUl.childNodes.length==0){ //判断一下,父结点里面的子节点是否存在,如果不存在执行append语句
//alert(1);
this.oUl.appendChild(aLi);
}else{
this.oUl.insertBefore(aLi,this.oUl.firstChild);
}
},
revTag:function(){
if(this.oUl.hasChildNodes()){
//oUl.removeChild(oUl.firstChild);//删除父节点里面的第一个节点
this.oUl.removeChild(this.oUl.lastChild);//删除父结点里面的最后一个节点
//oUl.removeChild(oUl.childNodes[3]);//删除父节点里面任意一个位置的子节点,oUl.childNodes[i],i可以为任意值
}
}

}
//调用
creatTag.appChd();//添加元素
//this指向发生变化,这个的this,指向的是button ,所以把this存起来,什么时候需要存起来this呢,就是对象里面的值,
//this,在调用时被改变了指向,要用function(){ creatTag.addTag(); }这个种方式调用,不能用creatTag.oBtn.onclick=creatTag.addTag;
//添加节点
creatTag.oBtn.onclick=function(){
creatTag.addTag();
}

//删除节点
creatTag.oBtn1.onclick=function(){
creatTag.revTag();
};

//就是说一个对象内部的方法(函数)的内部还包括着一个函数,如果这个函数也想指向该对象,就得把this存起来,var that=this;他用that
</script>

dom 节点篇 ---单体模式的更多相关文章

  1. dom 节点篇---模块

    改写成如下代码: var creatTag=(function(){ //var count=5; var oUl=document.createElement('ul'); var oDiv=doc ...

  2. dom 节点篇

    1,创建元素 document.createElement('要创建的元素名'); 2.插入节点 appendChild 和insertBefore 3.删除节点 removeChild  用法 re ...

  3. 深入理解DOM节点类型第五篇——元素节点Element

    × 目录 [1]特征 [2]子节点 [3]特性操作[4]attributes 前面的话 元素节点Element非常常用,是DOM文档树的主要节点:元素节点是html标签元素的DOM化结果.元素节点主要 ...

  4. 深入理解DOM节点类型第六篇——特性节点Attribute

    × 目录 [1]特征 [2]属性 [3]方法 前面的话 元素的特性在DOM中以Attr类型表示,从技术角度讲,特性是存在于元素的attributes属性中的节点.尽管特性是节点,但却不是DOM节点树的 ...

  5. 深入理解DOM节点类型第四篇——文档片段节点DocumentFragment

    × 目录 [1]特征 [2]作用 前面的话 在所有节点类型中,只有文档片段节点DocumentFragment在文档中没有对应的标记.DOM规定文档片段(document fragment)是一种“轻 ...

  6. 深入理解DOM节点类型第一篇——12种DOM节点类型概述

    × 目录 [1]元素 [2]特性 [3]文本[4]CDATA[5]实体引用[6]实体名称[7]处理指令[8]注释[9]文档[10]文档类型[11]文档片段[12]DTD 前面的话 DOM是javasc ...

  7. Javascript进阶篇——&lpar;DOM—节点---属性、访问节点&rpar;—笔记整理

    节点属性在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType : ...

  8. 《高性能javascript》 领悟随笔之-------DOM编程篇&lpar;二&rpar;

    <高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  9. 《高性能javascript》 领悟随笔之-------DOM编程篇

    <高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

随机推荐

  1. 引用dll动态库,动态库中弹出对话框输入,将输入参数,作为变量继续调用。

    在做支付项目时,引用动态库,动态库弹出支付宝或者微信的支付码,继而接收.最终将结果返回给调用动态库方法. 首先,动态库接收的是一个string 类型的xml,如 public string Pay(s ...

  2. 安装SQL Server2008,要重启机器&comma;解决办法

    安装SQL Server2008时,总提示有挂起,要重启机器:重启之后还是有相应的提示,该怎么办呢? 其实只要删除一个注册表项就可以了: 1.  打开注册表编辑器 开始菜单—>运行->re ...

  3. 在Windows下利用Eclipse调试FFmpeg

    目录 [隐藏]  1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...

  4. jQuery小例子

    map遍历数组 //=========for循环遍历========== var arr[1,2,3,4,5]; for(var i=0;i<=arr.length;i++) { arr[i]= ...

  5. Node&period;js理解

    JavaScript单线程的误解 在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求.而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无 ...

  6. FIDDLER的使用方法及技巧总结

    转自: https://www.cnblogs.com/ink-marks/p/6363275.html 一.FIDDLER快速入门及使用场景 Fiddler的官方网站:http://www.fidd ...

  7. 转 Tomcat&plus;redis&plus;nginx配置

    为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架.相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇 ...

  8. MySql必备技能 不会的赶紧get一下 可以说很详细了

    1.Mysql服务 mysql服务如何开启: 下载了mysql数据库你的服务中会有mysql服务. 1.1: 1.2: 2.使用sql语句进行 建库.建表.等操作. 2.1:使用sql语句进行创建数据 ...

  9. 【BZOJ4554】【TJOI2016】【HEOI2016】游戏

    我好弱啊quq 原题: 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能炸到对手,或者躲开对手的炸弹.在玩游戏的过程中,小H想到了这样一 ...

  10. 玩转X-CTR100 l STM32 l STM32F4 l 蓝牙串口通信

    我造*,你造车,创客一起造起来!更多塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      蓝牙串口通信模块,X-CTR100控制 ...