/*
var oLi = document.createElement('li'); oUl.appendChild( oLi ); }; createElement('') : 创建一个dom元素 appendChild() : 往一个节点的现有子节点后面追加一个新的子节点。 父级.appendChild( 子节点 ); insertBefore() createElement('') : 创建一个dom元素 appendChild() : 往一个节点的现有子节点后面追加一个新的子节点。 父级.appendChild( 子节点 ); insertBefore() : 往一个节点的指定现有子节点前面插入一个新的子节点。 父级.insertBefore( 准备插入的子节点,插入到哪个子节点的前面 ); removeChild() : 从一个节点里面删除指定的子节点。 父级.removeChild( 准备要删除的子节点 ); replaceChild() : 用一个节点替换掉另一个节点里面的指定子节点。 被替换元素的父级.replaceChild( 用来替换的节点,被替换掉的子节点 ); 被替换的元素必须是真实存在的节点元素。 cloneNode() : 复制一个节点。 被复制的节点.cloneNode( boolean );
boolean : 指定是否复制所有子孙节点。
true : 复制所有子孙节点。
false : 只复制节点本身。 温馨提醒:cloneNode() 只会复制dom结构,而不会复制事件或者通过js添加的属性等。
appendChild() / insertBefore() / replaceChild() : 如果操作的对象是一个已经存在在页面中的元素,则是直接移动元素,而并非复制元素。 exp:
var oDiv1 = document.getElementById('div1');
var oDiv2 = document.getElementById('div2');
var oBox = document.getElementById('box'); document.onclick = function(){ //oBox.appendChild( oDiv1 );
// oBox.appendChild( oDiv1.cloneNode() );
//oBox.insertBefore( oDiv1 , oDiv2 );
oBox.replaceChild( oDiv1 , oDiv2 ); }; appendChild() / insertBefore() / replaceChild() : 如果操作的对象是一个已经存在在页面中的元素,则是直接移动元素,而并非复制元素。 -----------------------------------------------------
class封装函数
function hasClass( obj , sClass ){ var aClass = obj.className.split(' '); if( !obj.className )return false; for(var i=0; i<aClass.length; i++){
if( aClass[i] == sClass )return true;
} return false; } function removeClass( obj , sClass ){
var aClass = obj.className.split(' '); if( !obj.className ) return; for(var i=0; i<aClass.length; i++){ if( aClass[i] == sClass ){ aClass.splice( i , 1 );
obj.className = aClass.join(' ');
return; } } } function addClass( obj , sClass ){ var aClass = obj.className.split(' '); if( !obj.className ){
obj.className = sClass;
return;
} for(var i=0; i<aClass.length; i++){
if( aClass[i] == sClass ) return;
} obj.className += ' ' + sClass; }
//获取 function getByClass( sClass , parent ){
var aEles = (parent||document).getElementsByTagName('*');
var arr = []; for(var i=0; i<aEles.length; i++){ //查看每一个元素是否满足要求
var aClass = aEles[i].className.split(' '); for(var j=0; j<aClass.length; j++){ //查看元素的每一个className
if( aClass[j] == sClass ){
arr.push( aEles[i] );
break;
}
} } return arr; } */

dom兼容性问题3 元素操作的更多相关文章

  1. dom元素操作(动态事件绑定)

    遇到的问题:动态生成的内容,事件绑定会出错. 例子:http://snowinmay.net/jqm/dom-learn2.html 1.绑定事件对动态生成的新元素无效. 问题描述:bind事件绑定后 ...

  2. 深度解析JQuery Dom元素操作技巧

    深度解析JQuery Dom元素操作技巧 DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件,这篇文章给大家介绍了JQuery dom元素操作方法,写的十分的全面细 ...

  3. 使用 Jquery-UI 实现一次拖拽多个选中的元素操作

    项目需要,实现一个拖放操作,要求每次可以拖拽选中的多个元素,释放到目标容器后可排序.考虑了一下,觉得jquery-ui比较合适,毕竟它提供了项目需要的交互性事件机制.拖拽.释放.排序.选择等效果.而在 ...

  4. JS-006-表格元素操作

    直接上菜咯... 以下为 HTML 表格源码: <html> <head> <meta http-equiv="Content-Type" conte ...

  5. selenium中元素操作之浏览器窗口滚动&网页日期控件操作(js操作)(五)

    js的滚动条scrollIntoView() Arguments[] - python与js之间的羁绊 1.移动到元素element对象的“底端”,与当前窗口的“底部”对齐: driver.execu ...

  6. Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」

    1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要 ...

  7. HTML DOM 定义了访问和操作 HTML 文档标准

    HTML DOM 定义了访问和操作 HTML 文档的标准. 您应该具备的基础知识 在您继续学习之前,您需要对以下内容拥有基本的了解: HTML CSS JavaScript 如果您需要首先学习这些项目 ...

  8. .NET LINQ 元素操作

    元素操作      元素操作从一个序列返回单个特定元素. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 ElementAt 返回集合中指定索引处的元素. ...

  9. selenium元素操作

    1.文本框(text field or textarea) element.sendKeys("test");//在输入框中输入内容: element.clear(); //将输入 ...

随机推荐

  1. 开机启动/etc/rc.local失效无效怎么办?解决方法

    开机启动/etc/rc.local失效问题的解决方法 第一种情况:当centOS 随机启动文件 /etc/rc.local 失效时请按如下修改1.echo /etc/rc.local >> ...

  2. WTForms In Flask(WTForms在Flask中的应用)

    WTForms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装wtforms : pip3/pip install wtforms 用户登录/注册示例 项 ...

  3. 004-React入门概述

    一.概述 参考地址:https://reactjs.org/docs/try-react.html 1.1.本地快速体验 <!DOCTYPE html> <html> < ...

  4. JavaScript历史和标准

    不管新手老手, 学门语言如果不简单了解这门语言谁创立的, 什么时候, 现在由谁来维护, 规范在哪? 总感觉, 少了点什么, 我就是这样. 历史 1994年美国网景(Netscape)公司发布自己的浏览 ...

  5. rsync+sersync多线程实时同步

    一.sersync优点 1)使用c++编写,对linux系统文件产生的临时文件和重复文件操作会进行过滤,在结合rsync同步的时候,会减少运行时消耗的本地及网络资源,因此速度更快. 2)相比较inot ...

  6. Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"

    Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索" //匹配右边 var   reg: TPerlRegEx; begin   ...

  7. Windows工作区目录创建

    Windows工作区目录创建批处理脚本,目的是养成工作区目录规范的好习惯. @echo off echo 'Create Jingyu Workshop!' rem Author: Alfred Zh ...

  8. BZOJ 3689: 异或之

    字典树可以$o(logn)查找第k大$ 使用$可持久化Trie 区间查找第k大,然后首先把每个数异或之后的最小丢进小根堆中,然后一个一个取出,取出后就再丢次小,一共取k次$ 总的时间复杂度为$O(kl ...

  9. python2.7中的字符编码问题

    0. 写在前面 起因:之前写个数据预处理程序的时候遇到了点问题,用re模块的正则查找方法search时总是找不出来(找错了或者出乱码),于是捣鼓捣鼓. 经过:查资料,做实验,发现用utf8编码的str ...

  10. sql 转