• 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>
  • 相关阅读:
    Linux内核分析第七周学习笔记——Linux内核如何装载和启动一个可执行程序
    <深入理解计算机系统>第七章读书笔记
    Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程
    linux内核分析第3章&第18章读书笔记
    Linux内核分析第五周学习总结——分析system_call中断处理过程
    课本第五章读书笔记
    Linux内核分析第四周学习总结——系统调用的工作机制
    课本第一二章读书笔记
    20162328蔡文琛 实验二 树
    20162328蔡文琛 大二week07
  • 原文地址:https://www.cnblogs.com/LO-ME/p/4589738.html
Copyright © 2020-2023  润新知