码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript的DOM_操作内容

时间:2015-06-19 21:29:03      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

一、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>

 

JavaScript的DOM_操作内容

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/4589738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!