`
yangping_Account
  • 浏览: 192810 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

innerText 和outerText 的区别

    博客分类:
  • java
阅读更多
 <html>
<head>
<title>A test for innerText, outerText method</title>
<script language='javascript'>
<!--
function getInnerText(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("innerText(): The "+objectID+" not found.");
    }else{
        alert("innerText(): "+divTextObject.innerText);
    }
}
function getOuterText(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("outerText(): The "+objectID+" not found.");
    }else{
        alert("outerText(): "+divTextObject.innerText);
    }
}

function getInnerHTML(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("innerHTML(): The "+objectID+" not found.");
    }else{
        alert("innerHTML(): "+divTextObject.innerHTML);
    }
}
function getOuterHTML(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("outerHTML(): The "+objectID+" not found.");
    }else{
        alert("outerHTML(): "+divTextObject.outerHTML);
    }
}
/**********************************************************************************/
var textValue="Hellin love Linda for ever."
var htmlValue="<span> Hellin <button>love Linda </button></span>for ever.";

function change_outerHTML(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("outerHTML(): The "+objectID+" not found.");
    }else{
        divTextObject.outerHTML=htmlValue;
    }
}
function change_innerHTML(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("innerHTML(): The "+objectID+" not found.");
    }else{
        divTextObject.innerHTML=htmlValue;
    }
}

function change_outerText(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("outerText(): The "+objectID+" not found.");
    }else{
        divTextObject.outerText=textValue;
    }
}
function change_innerText(objectID){
    var divTextObject=document.getElementById(objectID);
    if(!divTextObject){
        alert("innerText(): The "+objectID+" not found.");
    }else{
        divTextObject.innerText=textValue;
    }
}
-->
</script>
</head>
<body>
<p>
<div id='divText' >Hello, <button>Hellin Zhang</button></div>
</p>
<br/>
<input name="testButton" value="innerHTML" type="button" OnClick="getInnerHTML('divText');"> 
<input name="testButton" value="outerHTML" type="button" OnClick="getOuterHTML('divText');"> 
<input name="testButton" value="innerText" type="button" OnClick="getInnerText('divText');"> 
<input name="testButton" value="outerText" type="button" OnClick="getOuterText('divText');"> 
<br/><br/><br/><br/>
<input name="testButton" value="change_innerHTML" type="button" OnClick="change_innerHTML('divText');"> 
<input name="testButton" value="change_outerHTML" type="button" OnClick="change_outerHTML('divText');"> 
<br/>
<input name="testButton" value="change_innerText" type="button" OnClick="change_innerText('divText');"> 
<input name="testButton" value="change_outerText" type="button" OnClick="change_outerText('divText');"> 
</body>
</html> 

 

请您先下载运行并参考作者写的例子 .

<div id='divText' >Hello, <button>Hellin Zhang</button></div>

 outerText:

当您调用   document.getElementById('divText').outerText  属性时 ,  理论上是
获得开始标签
(start tag)”<div id='div1' >”  “</div> 之间所有的   text object text value,  但是必须明确此时的操作也饱含了自身即   “div” object . 所以本例读取值   Hellin, Hello world!  这与 innerText  没有什么区别 .

  如果你执行执行   document.getElementById(''divText' ').outerText="Hellin love Linda for ever."; 那么执行之后的结果是 <div id='divText' >Hello, <button>Hellin Zhang</button></div> 变成了   text object ( “Hellin love Linda for ever.”).  换句话说 div  这个 tag  没了 ,  而被你的一个文档对象 ”Hellin love Linda for ever.” 给换掉了 .

 innerText

只能工作在   tag object  的内部即开始标签 (start tag)”<div id='div1' >”  “</div> 之间所有的   text object   text value , 但是它一定不包括自身对象 , 这里的 inner 就是这个含义 .  如果您只是读取   text objext    text value,  那么用   innerText outerText 是等效的 , 它不同于 innerHTML outerHTML.

  当您写即你执行   document.getElementById('div1').innerText="Hellin love Linda for ever."; <div id='divText' >Hello, <button>Hellin Zhang</button></div> 变成 <div id='divText' > Hellin love Linda for ever.</div>, div object  并没有销毁 .

  换句话说 , inner 操作的是 tag 内部的对象 , outer  不仅操作内部对象也包含了本身对象 . 读这些属性值的过程中 , 可能没有区别 , 但是赋值操作区别可就大了 .

  同理   innerHTML, outerHTML.  只不过它们操作的不是 text 而是 HTML.

 
注意 : W3C  只支持 innerHTML.  其他都是微软的 规定 .(outerHTML,outerText,innerText 只有微软的 IE  好使 ,  其他浏览器不好用 (firefox, mozilla ), 必须用其他方法实现 )

分享到:
评论

相关推荐

    innertext和outertext以及div

    innertext和outertext以及div,在编写网页时经常用到的,很好用.

    innerHTML、outerHTML、innerText、outerText的用法与区别

    在示例中,我们可以看到,innerHTML、outerHTML、innerText、outerText的用法和区别。innerHTML和outerHTML用于获取或设置HTML元素的内容,而innerText和outerText用于获取或设置HTML元素的文本内容。 outerHTML比...

    html innerHTML outerHTML innerText outerText等的区别及实例汇总

    html js innerHTML outerHTML innerText outerText 等的区别及实例汇总

    javascript innerHTML、outerHTML、innerText、outerText的区别

    JavaScript中的innerHTML、outerHTML、innerText和outerText是四个与HTML元素内容操作紧密相关的属性,它们在处理网页元素的文本和HTML结构时具有不同的作用和特点。 1. innerHTML: - innerHTML允许我们获取或...

    innerHTML,outerHTML,innerText,outerText的用法及区别解析

    在JavaScript中,`innerHTML`, `outerHTML`, `innerText`, 和 `outerText` 是四个非常重要的属性,用于操作HTML元素的内容。下面将详细解释这些属性的用法和它们之间的区别。 1. **innerHTML** - `innerHTML` 属性...

    详谈innerHTML innerText的使用和区别

    document对象中有innerHTML、outerHTML、innerText和outerText四个属性,它们之间的区别和使用方法是开发者必须掌握的知识。 首先,让我们来了解innerHTML和outerHTML这两个属性。innerHTML设置或获取标签所包含的...

    你不知道的outerText,innerText 区别说明

    理解 outerText, innerText, innerHTML, outerHTML 的区别和使用场景 outerText, innerText, innerHTML, outerHTML 是 HTML 元素的四种不同的属性,它们之间有着细微的区别,理解它们的区别和使用场景对于前端...

    innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解

    innerText属性和outerText属性在读取元素节点的文本内容时,得到的值是不一样的。它们的不同之处在于设置一个节点的文本属性时,outerText属性会使得原来的元素节点被文本节点替换掉。注意,innerText是非标准属性,...

    innerText innerHTML的用法以及注意事项 [推荐]

    outerText和outerHTML与innerText和innerHTML类似,但它们同时影响元素自身以及其内部内容。outerText会获取或设置一个元素及其所有后代的文本,而outerHTML则会获取或设置元素及其内容的完整HTML表示。 通过了解...

    学习笔记:有关网络知识的笔记

    textContent,innerText,outerText,textNode.data工程化JS JS Regenerator运行时同步网络包 webpack打包形成的模块结果分析样式加载器,css加载器,较少加载器,URL加载器样式文件,图片文字文件处理摇树初步组件...

    js常用操作

    - `innerText` 和 `outerText`:用于获取或修改元素的文本内容。 - `insertAdjacentHTML` 和 `insertAdjacentText`:用于在指定位置插入 HTML 或文本。 #### 字符串处理 字符串是 JavaScript 中常见的数据类型,...

    delphi网页解析类,主要针对idhttp等方式获取的源码进行解析(原创)

    非常小巧实用的网页解析类,在delphi 10.2下编译通过,主要方法:getElementByid getElementsByTagName(aTag : string) getElementByTagNameAndFlag getElementsByClassName 标签主要属性:innerText , innerHTML ...

    js对各标签(控件)的操作

    3. **innerText 和 outerText**:获取或修改文本内容。 ```javascript element.innerText; // 获取元素内部文本内容 element.innerText = '新的文本'; // 修改元素内部文本内容 element.outerText; // 获取元素...

    跨浏览器开发经验总结(三) 警惕“IE依赖综合症”

    document.all document.all不是所有浏览器都能识别,要写出更通用的代码,最好还是通过id来得到,使用document.getElementById(…) element.outerText, element.innerText, element.outerHTML,element[removed] ...

    百度前台js笔试题与答案

    解决方案是列举了多个FF和IE之间的差异,如children、parentElement、innerText、outerText、outerHTML等属性的差异。 第八题:按照要求写一个简单的Ajax示例 这道题考察了JS中的Ajax应用能力,要求编写一个简单的...

Global site tag (gtag.js) - Google Analytics