javaScript學習筆記概述

     又是一個兩天,javaScript,學習了基本的一點點內容,下面就當作一個複習吧。

     在 HTML 頁面中插入 JavaScript,使用 <script> 標籤。<script> 和 </script> 會告訴 JavaScript 在何處開始和結束, 他們之間的代碼行包含了 JavaScript。從 JavaScript 訪問某個 HTML 元素,我們使用 document.getElementById(id) 方法,比如下面一個例子:

複製代碼
<html>
<body>
<h1>My First Web Page</h1>
<p id="demo">My First Paragraph</p>
<script>
document.getElementById("demo").innerHTML="My First JavaScript";
</script>
</body>
</html>
複製代碼

本來會輸出My First Paragraph,使用了innerHTML改變了輸出內容,變成了My First JavaScript

      在<script> 和 </script>標籤中也可以直接輸出HTML內容,用下面這個方法:

?
<script>
document.write("<p>html語言</p>");
</script>

     還有比較重要的是javascript的對象,但是這兩天我沒有遇到,就沒有看,等以後需要用的時候再來看。還有重要的,也是這兩天練習得最多的就是HTML DOM 事件了。像下面的代碼:

<html>
<body>
<h1 onclick="this.innerHTML='謝謝!'">請點擊該文本</h1>
</body>
</html>

瀏覽器中會出現“點擊該文本”,點擊之後,也就觸發了該點擊事件,會執行相應的代碼,瀏覽器中的內容會變成“謝謝!”

也可以把上面的"this.innerHTML='謝謝!'"改成一個函數,當我們點擊觸發事件時,會執行相應的函數,就像下面這樣子:

複製代碼
<html>
<head>
<script>
function changetext(id)
{
id.innerHTML="謝謝!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">請點擊該文本</h1>
</body>
</html>
複製代碼

點擊之後,會調用changetext()函數,當然,你可以把函數定義在別的一個地方,但是肯定需要使用<script> 和 </script>。

      下面這代碼是像按鈕分配事件,

複製代碼
<html>
<head>
</head>
<body>
<p>點擊按鈕就可以執行 <em>displayDate()</em> 函數。</p>
<button id="myBtn">點擊這裏</button>
<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
function displayDate()
{
document.getElementById("demo").innerHTML=Date();
}
</script>
<p id="demo"></p>
</body>
</html> 
複製代碼

把事件給button上面,當我們點擊時,觸發相應事件,調用對應的函數。

     當天下午寫了一個ajax的hello world程序,我承認自己智商太不夠用了。爲了讀取本地的hello world文件花了幾個小時的時間都沒有搞定,現在看看電影,然後來梳理一下當時的情況。當時在桌面寫了兩個文件,一個html文件,一個xml文件,我的xml是如下這樣:

複製代碼
<?xml version="1.0" encoding="UTF-8"?>  
<HelloWorld>  
    <data>  
    我是後臺的HelloWorld!  
    </data>  
</HelloWorld> 
複製代碼

,然後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>Insert title here</title>  
            <script type="text/javascript">  
                var xmlHttp;  
                function createXmlHttpRequest()  
                {  
                    
                    if(window.ActiveXObject)//針對IE瀏覽器  
                    {  
                        try{  
                            xmlHttp = new ActiveXObject("Microsoft.XMLHttp");//針對IE高版本  
                        }  
                        catch(e){  
                            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//針對IE低版本  
                        }     
                    }  
                    else if(window.XMLHttpRequest)//針對非IE瀏覽器  
                    {  
                        xmlHttp = new XMLHttpRequest();  
                    }  
                    xmlHttp.onreadystatechange = function() {   //讀取服務器的狀態  
                    if(xmlHttp.readyState == 4)  
                    {   //判斷服務器狀態碼,如果服務器端沒有錯誤返回200  
                        if(xmlHttp.status == 200)  
                        {  
                            var div = document.getElementById("div1");  
                            //接收服務器響應的xml文檔  
                            var xmlDoc = xmlHttp.responseXML;  
                            //解析服務器響應的XML文檔  
                            var data = xmlDoc.getElementsByTagName("data")[0].firstChild.nodeValue;  
                            div.innerHTML = "<b>"+data+"</b>";  
                        }  
                    }  
                    };  
                    xmlHttp.open("GET","http://localhost/HelloWorld.xml",true);  
                    xmlHttp.send();  
                    
                    // document.getElementById("div1").innerHTML="test";
                }  
                  
                
            </script>  
        </head>  
        <body>  
            <div align="center" id="div1" style="width:100%"></div>  
            <div align="center" style="width:100%">  
                <input type="button" value="Hello World" id="btnRequest" onclick="createXmlHttpRequest()">  
            </div>  
        </body>  
    </html>  
複製代碼

我當時的做法是把他們放在同文件夾下面。雙擊html文件之後,點擊瀏覽器的按鈕,我以爲會順利的出現hello world。結果,我嘗試了千遍百遍,無論我怎麼點擊,都沒有反應。用Firebug查看,html連請求包都沒有發出去。但奇怪的是,要是我是請求網上的某一個文件,可以順利的輸出。折騰了好久,無奈之下,把他們放在了tomact服務器下面,結果,順利的輸出。之後網上尋找原因,是應爲js能請求本地文件,一定要去服務器請求,好像就是這樣。希望可以幫助到和我遇到同樣煩惱的問題!

轉於博客園,奇米影視

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