JS中innerHTML/outerHTML和innerText/outerText以及value 的区别与使用

  • value


value:value是表单元素特有的属性,输入输出的是字符串

如下面的例子,获取到的是他们的value值


 

<input type="text" id="inP">

<div id="P">
    <p>
    5566555
  </p>
</div>
<button id="btn" value="123">确定</button>

<script>
    var inP = document.getElementById("inP");
    var P = document.getElementById("P");
    var btn   =document.getElementById("btn");
btn.onclick
=function(){ console.log("===========input============") console.log("value:=="+inP.value); console.log("===========P================") console.log("value:=="+P.value); console.log("===========button================") console.log("value:=="+btn.value); } </script>

input框输入:123456

 

 

最后输出如下:

  • innerHTML/outerHTML

 


 

 (1) innerHTML设置或获取标签所包含的HTML+文本信息 (从标签起始位置到终止位置全部内容,包括HTML标签,但不包括自身)

 (2)outerHTML设置或获取标签自身及其所包含的HTML+文本信息包括自身

 


 

如下图所示

来个栗子吧:

<input type="text" id="inP">

 <div id="P">
<
p>5566555</p>
</
div> <button id="btn" value="123">确定</button> <script> var inP = document.getElementById("inP"); var P = document.getElementById("P"); var btn =document.getElementById("btn"); btn.onclick=function(){ console.log("===========input============") console.log("innerHTML:=="+inP.innerHTML); console.log("outerHTML:=="+inP.outerHTML); console.log("===========P================") console.log("innerHTML:=="+P.innerHTML); console.log("outerHTML:=="+P.outerHTML); console.log("===========button================") console.log("innerHTML:=="+btn.innerHTML); console.log("outerHTML:=="+btn.outerHTML); }

 

  • innerText/outerText

 


 

(1) innerText设置或获取标签所包含的文本信息(从标签起始位置到终止位置的内容,去除HTML标签,但不包括自身)

         innerText 打印标签之间的纯文本信息,会将标签过滤掉低版本的火狐浏览器不支持,而是支持textContent

(2) outerText设置或获取标签自身及其所包含的文本信息(包括自身)

innerText和outerText在获取的时候是相同效果

但在设置时,innerText仅设置标签所包含的文本,而outerText设置包含包括标签自身在内的文本


 

<input type="text" id="inP">

 <div id="P"><p>5566555</p></div>

<button id="btn" value="123">确定</button>

<script>
    var inP = document.getElementById("inP");
    var P = document.getElementById("P");

    var btn   =document.getElementById("btn");
    btn.onclick=function(){
        console.log("===========input============")
        console.log("innerText:=="+inP.innerText); 
        console.log("outerText:=="+inP.outerText); 

        console.log("===========P================")
         console.log("innerText:=="+P.innerText); 
        console.log("outerText:=="+P.outerText); 
console.log(
"===========button================") console.log("innerText:=="+btn.innerText); console.log("outerText:=="+btn.outerText); }

 

 

如上图红框所示,innerText和outerText获取值得时候结果是一样的。

 

 

  • inner HTML和innerText的对比

    •  innerText 打印标签之间的纯文本信息

    • innerHtml 打印标签之间的内容,包括标签和文本信息

 <div id="P"><p>5566555</p></div>

<button id="btn" value="123">确定</button>

<script>
    var inP = document.getElementById("inP");
    var P = document.getElementById("P");

    var btn   =document.getElementById("btn");
    btn.onclick=function(){
        console.log("===========P================")
         console.log("innerHTML:=="+P.innerHTML); 
         console.log("innerText:=="+P.innerText); 

          }

 

 

如果将P标签的内容更改如下

inner HTML也会按照原格式进行输出;

结果如下:

 

 

 


 

尊重原创,转载请注明出处 https://home.cnblogs.com/u/lshdashi/

如有不当之处,请留言指出,谢谢!

 

posted @ 2018-08-02 15:42  码到攻城  阅读(2448)  评论(0编辑  收藏  举报