JavaScript的DOM_操作内容

一、innerText 属性

<script type="text/javascript">
    window.onload = function(){
        var box = document.getElementById("box");
       // alert(box.innerText);//获取文本并过滤掉包含该文本的HTML标签(直接删除掉的)火狐不支持
        box.innerText=‘Mr.Lee‘;//设置值,替换掉原来有的文本
        box.innerText=‘<strong>Mr.Lee</strong>‘;//Strong标签不起作用,直接转义为纯文本

    };
</script>
</head>
<body>
    <div id="box"><p>测试Div</p></div>
</body>

  除了 Firefox 之外,其他浏览器均支持这个方法。但 Firefox 的 DOM3 级提供了另外一个类似的属性:textContent,做上兼容即可通用。

<script>
     window.onload =function(){
        var box = document.getElementById("box");
        alert(box.textContent);
     };
</script>
</head>
<body>
<div id="box"><p>测试Div</p></div>
</body>

   做兼容方案:

<script type="text/javascript">
    window.onload = function(){
        var box = document.getElementById("box");

        alert(getInnerText(box));
        setInnerText(box,"wodedfadf");

       //兼容方案
        function getInnerText(element) {
            return (typeof element.textContent == ‘string‘) ? element.textContent : element.innerText;
        }

        function setInnerText(element, text) {
            if (typeof element.textContent == ‘string‘) {
          element.textContent = text;
            } else {
                element.innerText = text;
            }
        }

    };
</script>
</head>
<body>
    <div id="box"><p>测试Div</p></div>
</body>

二、innerHTML 属性

<script>
     window.onload =function(){
        var box = document.getElementById("box");
        alert(box.innerHTML); //获取文本(不过滤 HTML标签)
        box.innerHTML = ‘<b>123</b>‘;     //可解析 HTML,结果文本加粗了;
        alert(box.innerHTML);
     };
</script>
</head>
<body>
<div id="box"><p>测试Div</p></div>
</body>

  虽然 innerHTML 可以插入 HTML,但本身还是有一定的限制,也就是所谓的作用域元素,离开这个作用域就无效了。

<script>
     window.onload =function(){
        var box = document.getElementById("box");
        box.innerHTML = "<script>alert(‘Lee‘);</script>"; //<script>元素不能被执行
        box.innerHTML = "<style>background:red;</style>"; //<style>元素不能被执行
     };
</script>
</head>
<body>
<div id="box"><p>测试Div</p></div>
</body>

三、outerText

  outerText 在取值的时候和 innerText 一样,同时火狐不支持,而赋值方法相当危险,他不单替换了文本内容,还将元素直接抹去。

<script>
     window.onload =function(){
        var box = document.getElementById("box");
        alert(box.outerText);
        box.outerText = ‘<b>123</b>‘;
        alert(box.outerText);
        alert(document.getElementById(‘box‘)); //null,建议不去使用
     };
</script>
</head>
<body>
<div id="box"><p>测试Div</p></div>
</body>

 四、outerHTML

  outerHTML 属性在取值和 innerHTML 一致,但和 outerText 也一样,很危险,赋值的之后会将元素抹去。

<script>
     window.onload =function(){
        var box = document.getElementById("box");
        box.outerHTML = ‘123‘;
        alert(document.getElementById(‘box‘)); //null,建议不去使用,火狐旧版未抹去
     };
</script>
</head>
<body>
<div id="box"><p>测试Div</p></div>
</body>
时间: 2024-10-12 04:11:50

JavaScript的DOM_操作内容的相关文章

JavaScript的DOM_操作内联或链接样式表

使用 style 属性,仅仅只能获取和设置行内的样式,如果是通过内联<style>或链接<link>提供的样式规则就无可奈何了,使用 getComputedStyle 和currentStyle,这只能获取却无法设置. CSSStyleSheet 类型表示通过<link>元素和<style>元素包含的样式表. <script type="text/javascript"> window.onload = function(){

2016/4/1 jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式

jQuery的min版本和原版功能是一样的,min版主要应用于已经开发成的网页中,而非min版 的文件比较大,里面有整洁的代码书写规范和注释,主要应用于脚本开发过程当中. JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3 ,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后 续版本将不再支持IE6/7/8浏览器.jQuery能够使用户的html页面保持代码和h

[搬运自我的CSDN博客] python抓取javascript动态生成HTML内容的实践

<注:CSDN博客在美国访问特别卡,所以转移到cnblogs来发文章> 本实验在Ubuntu14.04上完成.使用的浏览器是火狐(Firefox 33.0),python版本是2.7.6. 大家都知道用urllib配合正则表达式抓取静态HTML的内容很方便,但是如果网页中有javascript动态生成的内容,urllib就无能为力了. 此时我们要借助一个额外的工具:selenium.它的工作原理是操纵(火狐)浏览器浏览目标网页,等待网页中的javascript全部执行完毕后再对HTML源码进行

【2017-03-31】JS-DOM操作:操作属性、彩虹导航栏、定时器、操作内容、创建元素并添加、操作相关元素

一.操作属性 1.什么是属性: <div class="div" id="div1" style="" ></div> 其中class   id   style   都是这个div的属性 <input type="button" value="这是一个按钮" disabled="disabled"  aa="haha" /> dis

第一百二十六节,JavaScript,XPath操作xml节点

第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准DOM去查找XML中的节点方式,大大降低了查找难度,方便开发者使用.但是,DOM3级以前的标准并没有就XPath做出规范:直到DOM3在首次推荐到标准规范行列.大部分浏览器实现了这个标准,IE则以自己的方式实现了XPath. 一.IE中的XPath 在IE8及之前的浏览器,XPath是采用内置基于A

JavaScript 的DOM操作及实例

一.Windows对象操作 (1).用代码打开窗口:window.open("第一部分","第二部分","第三部分","第四部分") 第一部分:写页面地址. 第二部分:打开的方式:_blank打开新窗口   self在原窗口打开. 第三部分:控制打开窗口的格式,可以写多个,用空格隔开. toolber=no //无工具条 menuber=no //无菜单栏 status=no //无状态栏 windth=100px heigh

javascript数组赋值操作

最近在司徒正美的<javascript框架设计>,在里面发现了一个段代码 1 ...... 2 3 var _len = arr1.length; 4 while (_len) { 5 arr2[--_len] = arr1[_len]; 6 } 7 8 ...... 这是一个数组间赋值的操作,咋一看,之前还没碰到这样的写法.平时我个人都是这样写的. 1 function assignment2(arr1, arr2) { 2 for (var i = 0,_len = arr1.length

javascript的DOM操作及实例

一.Windows对象操作 (1).用代码打开窗口:window.open("第一部分","第二部分","第三部分","第四部分") 第一部分:写页面地址. 第二部分:打开的方式:_blank打开新窗口   self在原窗口打开. 第三部分:控制打开窗口的格式,可以写多个,用空格隔开. toolber=no //无工具条 menuber=no //无菜单栏 status=no //无状态栏 windth=100px heigh

JavaScript字符串常用操作函数之学习笔记

字符串简介 使用英文单引号或双引号括起来,如:’Hello’,”World”,但是不能首尾的单引号和双引号必须一致,交错使用,如果要打印单引号或者双引号,可以使用转义字符\’(单引号),\”(双引号)  代码如下 复制代码 var str_1 = 'Hello World!';  //Hello World!var str_2 = "Hello World!";  //Hello World!var str_3 = '他说:"这样可以的."';  //他说:&quo