动态脚本
1 载入脚本文件

var s = document.createElement("script");
s.src = "test2.js";
s.type = "text/javascript";
document.body.appendChild(s);

2 创建一段js程序块
由于ie中不支持script节点操作文本节点,只能通过script节点的text属性赋值,但safari3.0-不支持text属性

var s = document.createElement("script");
s.type = "text/javascript";
if (s.text != undefined) {
s.text = "alert('hello world')";
} else {
var t = document.createTextNode("alert('hello world')");
s.appendChild(t);
}
document.body.appendChild(s);

动态样式表
1 载入样式表文件

var l = document.createElement("link");
l.href = "test.css";
l.type = "text/css";
l.rel = "stylesheet";
var head = document.getElementsByTagName("head")[0];
head.appendChild(l);

2 创建css片段
由于ie中不支持likn节点操作文本节点,只能通过script节点的styleSheet.cssText属性赋值(使用这种方法有时候也会出错!)

var l = document.createElement("link");
l.type = "text/css";
l.rel = "stylesheet";
if (l.styleSheet != undefined) {
l.styleSheet.cssText = "#mydiv{color:red;}";
} else {
var t = document.createTextNode("#mydiv{color:red;}");
l.appendChild(t);
}
var head = document.getElementsByTagName("head")[0];
head.appendChild(l);

Element的事件属性、样式属性 1 事件属性 通过属性调用得到的是js方法 getAttribute调用得到的是代码字符串 (ie8-得到的都是js方法)

2 样式属性 通过属性调用得到对象 getAttribute调用得到的是空

setAttribue 在ie8-设置class、style、事件无效,建议获取和设置都使用属性调用这种方法

var d = document.getElementById("d1");
alert(typeof d.onclick);
alert(d.getAttribute("onclick")); alert(d.getAttribute("stlye"));
alert(d.style);
alert(d.style.color);

文本处理
innerHTML 把元素中间的全部文本输出包括html标签(同时ie、opera标签名变为大写),赋值不会自动html编码
innerText 把元素中间的全部文本输出不包括html标签,赋值会自动html编码(FF不支持这个属性)

var d = document.getElementById("mydiv");
alert(d.innerHTML);
alert(d.innerText);
d.innerHTML = "<p>hehe</p>";
alert(d.innerHTML);
d.innerText = "<p>haha</p>";
alert(d.innerHTML);

js之dom_2的更多相关文章

  1. Moment.js学习(一)源代码

    本篇主要是学习Moment.js.类库源代码如下: 2.4版本. //! moment.js //! version : 2.4.0 //! authors : Tim Wood, Iskren Ch ...

  2. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  3. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  6. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  7. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  8. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  9. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

随机推荐

  1. hbase表结构设计

    非常好的一个ppt   HBase Schema design: http://www.slideshare.net/cloudera/5-h-base-schemahbasecon2012

  2. jQuery1.9.1--attr,prop与val方法源码分析

    这里只介绍这几个方法的源码,这部分引用了一个技巧,钩子对象,用来做兼容fixed的对象,后面也有一些使用.钩子对象具体的兼容细节这里就不详解了. var nodeHook, boolHook, rcl ...

  3. Sqli-labs less 46

    Less-46 从本关开始,我们开始学习order by 相关注入的知识. 本关的sql语句为$sql = "SELECT * FROM users ORDER BY $id"; ...

  4. 正确使用HTML title属性

    如果你想对使用手机,平板电脑和辅助技术的用户隐藏某些内容,而只对键盘用户显示,那么请使用title属性. 细节 HTML的title属性本身有问题.之所以有问题是因为它在一些重要的方面表现的不够好,尽 ...

  5. Linuxshell脚本之if条件判断

    IF条件判断 .基本语法: if [ command ]; then 符合该条件执行的语句 fi .扩展语法: if [ command ];then 符合该条件执行的语句 elif [ comman ...

  6. C#&java重学笔记(面向对象)

    C#部分 1.C#有一个internal关键字,指字段可以同一个程序集中访问,出了程序集不行.还有一个protected internal(没有先后之分)修饰词,指只能在同一个程序集中的子类访问 2. ...

  7. HDU3487 Play With Chains(Splay)

    很裸的Splay,抄一下CLJ的模板当作复习,debug了一个下午,收获是终于搞懂了以前看这个模板里不懂的内容.以前用这个模板的时候没有看懂为什么get函数返回的前缀要加个引用,经过一下午的debug ...

  8. poj 2311

    Cutting Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2844   Accepted: 1036 Desc ...

  9. Shell实现跳板机,为什么用跳板机

    整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1.     问题 ...

  10. java基础知识回顾之抽象类和接口的区别

    /* 抽象类和接口的异同点: 相同点: 都是不断向上抽取而来的. 不同点: 1,抽象类需要被继承,而且只能单继承. 接口需要被实现,而且可以多实现. 2,抽象类中可以定义抽象方法和非抽象方法,子类继承 ...