首頁  >  文章  >  web前端  >  html中scrip的擺放位置

html中scrip的擺放位置

巴扎黑
巴扎黑原創
2017-03-30 13:20:151579瀏覽

以前一直覺得script在html中的任何位置都可以,今天做一個需求的時候才更正了自己的錯誤想法啊--script的位置也不是隨便放的。

首先是想實作一個select標籤,有是和無兩個option,但是在初始化的時候要求select標籤預設選擇空值,所以我在點擊的時候加了一個方法讓他把空值刪掉:

<!DOCTYPE html>  

    <html>  

    <head>  

    <script src="jquery/jquery-1.11.1.min.js"></script>  

    </head>  

    <script>  

    $(&#39;#checkcash&#39;).click(function () {   

            if ($(&#39;#checkcash&#39;).val() == &#39;0&#39;) {   

                $("#checkcash option[value=&#39;0&#39;]").remove();   

            }   

        });   

        $("#alert").click(function(){   

        alert("1123");   

        })   

    </script>  

    <body>  

     是否已提现 <select id="checkcash"   style="width: 181px">  

                                <option selected="selected" value="0"></option>  

                                <option value="1">是</option>  

                                <option value="2">否</option>  

                                </select>  

                                    

                                <input type=&#39;button&#39; id=&#39;alert&#39; value="anwo">  

    </body>  

      

      

    </html>



但是這樣並不能達到想要的效果,起初以為是jquery語法錯誤還一直在網上查,改,但是都不管用,後來突然想到是不是應該把script放到後面,試了一下,結果果真ok了,這才恍然大悟,原來不是這樣的。

後來查了一下原因是因為,html檔案是自上而下的執行方式,但引入的css和javascript的順序有所不同,css引入執行載入時,程式仍然往下執行,而執行到3f1c4e4b6b16bbbd69b2ee476dc4f83a腳本是則中斷線程,待該script腳本執行結束之後程式才繼續往下執行。所以,一般將script放在body之後是因為避免長時間執行script腳本而延遲阻塞。而有一些頁面的效果的實現,是需要預先動態的載入一些js腳本,所以這些腳本應該放在6c04bd5ca3fcae76e30b72ad730ca86d之前。其次,不能將需要存取dom元素的js放在body之前,因為此時還沒有開始產生dom,所以在body之前的存取dom元素的js會出錯,或者無效。就是因為這個,在dom沒生成好時我就給它添加了方法,才導致這樣。

真的應該多學習很多地方以為所以然了,卻沒深究。以後還要加油!

ps:其實還有另一種方法,就是用jquery的初始化頁面方法,把上面給標籤添加的點擊事件加入到$(function(){})中也是可以的,原理和上面是一樣的,這個方法是等頁面載入好了才執行,所以不管放在哪裡都可以了!

以上這篇淺談script在html中的擺放位置就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

以上是html中scrip的擺放位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn