innerHTML和innerText的用法(動態改變網頁內容)

最近在學習JavaScript,覺得innerHTML和innerText太有用了,利用它們,我們可以試自己的網頁實現動態化。不過在使用的過程中,千萬要注意它們的大小寫,因爲錯一點您就得不到預期的效果了。這是全新的方法,掌握它以後將可隨心所欲的設計動態內容了。

一 動態改變文本和Html 

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
        <head>  
        <meta http-equiv="Content-Type        content="text/html;charset=UTF-8">  
        <title>innerText和innerHTML用法實例</title>  
        <script language="JavaScript" type="text/javascript">   
            function changeText() {   
                DT.innerText="我很好!";   
            }//function   
      
            function changeHtml() {   
                DH.innerHTML="<i><u>我姓肖!</u></i>";   
            }//function   
      
            function back() {   
                DT.innerText="您好嗎?";   
                DH.innerHTML="您姓什麼?";   
            }   
        </script>  
        </head>  
        <body>  
            <p><font color="gray">請點擊下邊的文字……</font>   
            <ul>   
            <li id="DT" onclick="changeText()">您好嗎? </li>   
            <li id="DH" onclick="changeHtml()">您姓什麼? </li>   
            <li onclick="back()">恢復原樣! </li>   
            </ul>  
        </body>  
    </html>  

innerText屬性用來定義對象所要輸出的文本,在本例中innerText把對象DT中的文本“您好嗎?”變成了“我很好!”(語句DT.innerText="我很好!")。而對對象DH的改變用了innerHTML屬性,它除了有innerText的作用外,還可改變對象DH內部的HTML語句,於是它把文本變成了“我姓肖!”,而且文本輸出改成了斜體(<i></i>)並下加一條直線(<u></u>),即語句DH.innerHTML="<i><u>我姓肖!</u>&lt;/i>"。

二 文本的動態輸入與輸出

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
        <head>  
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
            <title>用innerText和innerHTML製作動態網頁</title>  
            <style type="css/text">  
                .blue {  
                    color:blue;  
                    font-size:12pt;  
                }  
              
            </style>  
            <script language="JavaScript" type="text/javascript">   
            function OutputText() {   
                if(frm.txt.text!="") {   
                    Output.innerHTML="在此處輸出文本:<u>"+frm.txt.value+"</u>";} //Output爲一對象。   
                else {   
                    Output.innerText="在此處輸出文本:";}   
            }//function   
        </script>  
        </head>  
      
        <body>  
            <p><br></p>  
            <form name="frm">  
                <p>  
                    <font color="gray">請在文本框中輸入文字:</font>  
                    <input type="text" name="txt" size="50">  
                    <br>  
                    <input type="button" value="輸出文本" name="B1" class="blue" onclick="OutputText()">  
                </p>  
            </form>  
      
            <p id="Output">  
                在此處輸出文本:  
            </p>  
        </body>  
    </html>  

此例的效果是先在文本框中輸入文本,然後按“輸出文本”的按鈕,接着網頁便會自動輸出您所輸入的文本

三 注意innerHTML有自動檢查語法的功能,它會把不完整的HTML代碼補充完整,這點可以說是神奇,例如下面的這段腳本

    function Get()  
    {  
       document.getElementById("tab").innerHTML="<table><tr>";  
       alert(document.getElementById("tab").innerHTML);  
    }  

運行的效果竟然是這樣的:
<TABLE><TBODY><TR></TR></TBODY></TABLE>
所以請各位在使用時一定要小心.
例如在做這樣的操作時就會出錯.
運行的效果竟然是這樣的:

list.innerHTML="<table><tr>";  
  
list.innerHTML+="<td>"  
  
............ 

必須用一箇中間變量

    var html="<table><tr>";  
      
    html+="<td>";  
      
    .........  
      
    list.innerHTML=html;  

這樣問題就可以得到解決.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章