淺談script在html中的擺放位置
以前一直覺(jué)得script在html中的任何位置都可以,今天做一個(gè)需求的時(shí)候才更正了自己的錯(cuò)誤思想啊--script的位置也不是隨便放的。
首先是想實(shí)現(xiàn)一個(gè)select標(biāo)簽,有是和無(wú)兩個(gè)option,但是在初始化的時(shí)候要求select標(biāo)簽?zāi)J(rèn)選擇空值,所以我在點(diǎn)擊的時(shí)候加了一個(gè)方法讓他把空值刪掉:
- <!DOCTYPE html>
- <html>
- <head>
- <script src="jquery/jquery-1.11.1.min.js"></script>
- </head>
- <script>
- $('#checkcash').click(function () {
- if ($('#checkcash').val() == '0') {
- $("#checkcash option[value='0']").remove();
- }
- });
- $("#alert").click(function(){
- alert("1123");
- })
- </script>
- <body>
- 是否已提現(xiàn) <select id="checkcash" style="width: 181px">
- <option selected="selected" value="0"></option>
- <option value="1">是</option>
- <option value="2">否</option>
- </select>
- <input type='button' id='alert' value="anwo">
- </body>
- </html>
但是這樣并不能達(dá)到想要的效果,起初以為是jquery語(yǔ)法錯(cuò)誤還一直在網(wǎng)上查,改,但是都不管用,后來(lái)突然想到是不是應(yīng)該把script放到后面,試了一下,結(jié)果果真ok了,這才恍然大悟,原來(lái)不是這樣的。
后來(lái)查了一下原因是因?yàn)椋琱tml文件是自上而下的執(zhí)行方式,但引入的css和javascript的順序有所不同,css引入執(zhí)行加載時(shí),程序仍然往下執(zhí)行,而執(zhí)行到<script>腳本是則中斷線程,待該script腳本執(zhí)行結(jié)束之后程序才繼續(xù)往下執(zhí)行。所以,一般將script放在body之后是因?yàn)楸苊忾L(zhǎng)時(shí)間執(zhí)行script腳本而延遲阻塞。而有一些頁(yè)面的效果的實(shí)現(xiàn),是需要預(yù)先動(dòng)態(tài)的加載一些js腳本,所以這些腳本應(yīng)該放在<body>之前。其次,不能將需要訪問(wèn)dom元素的js放在body之前,因?yàn)榇藭r(shí)還沒(méi)有開(kāi)始生成dom,所以在body之前的訪問(wèn)dom元素的js會(huì)出錯(cuò),或者無(wú)效。就是因?yàn)檫@個(gè),在dom沒(méi)生成好時(shí)我就給它添加了方法,才導(dǎo)致這樣。
真的應(yīng)該多學(xué)習(xí)很多地方以為所以然了,卻沒(méi)深究。以后還要加油!
ps:其實(shí)還有另外一種方法,那就是用jquery的初始化頁(yè)面方法,把上面給標(biāo)簽添加的點(diǎn)擊事件加入到$(function(){})中也是可以的,原理和上面是一樣的,這個(gè)方法是等頁(yè)面加載好了才執(zhí)行,所以不管放在哪都可以了!
以上這篇淺談script在html中的擺放位置就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。
上一篇:web響應(yīng)式布局中iframe自適應(yīng)的方法
欄 目:CSS/HTML
本文標(biāo)題:淺談script在html中的擺放位置
本文地址:http://mengdiqiu.com.cn/a1/CSS_HTML/9551.html
您可能感興趣的文章
- 04-02html中加入css樣式的簡(jiǎn)單介紹
- 01-10利用iframe在網(wǎng)頁(yè)中顯示天氣附效果截圖
- 01-10html用style添加屬性示例
- 01-10HTML中rel屬性分析
- 01-10在html文件里include文件內(nèi)容的方法小結(jié)
- 01-10a標(biāo)簽的背景圖在ie8下不顯示問(wèn)題的解決方法
- 01-10&lt;td&gt;&lt;/td&gt;標(biāo)簽的bord
- 01-10HTML中Li標(biāo)簽的使用示例
- 01-10幾個(gè)老式播放器的嵌入代碼
- 01-10淺談html中input只讀屬性readonly和disable的區(qū)別


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02表格樣式css樣式,css樣式表單
- 04-02好看的字體樣式css,好看的字體樣式圖
- 04-02分頁(yè)樣式css,分頁(yè)樣式j(luò)q
- 04-02分頁(yè)樣式css,分頁(yè)樣式欄里用來(lái)定義首
- 04-02css樣式的引入,css樣式怎么引入
- 04-02css滾動(dòng)條樣式,css滾動(dòng)條的樣式
- 04-02css樣式引入方式有幾種,網(wǎng)頁(yè)引入css樣
- 04-02html中加入css樣式的簡(jiǎn)單介紹
- 04-02vue中的css樣式布局,vue添加css樣式
- 04-02內(nèi)嵌樣式css,內(nèi)嵌樣式表,內(nèi)部樣式表
隨機(jī)閱讀
- 01-10vue實(shí)現(xiàn)分頁(yè)加載效果
- 01-10C++ 類訪問(wèn)控制的條件總結(jié)
- 08-05DEDECMS點(diǎn)擊主欄目默認(rèn)顯示第一個(gè)子欄
- 01-10C++實(shí)現(xiàn)將數(shù)組中的值反轉(zhuǎn)
- 08-05dedecms織夢(mèng)模板編輯文檔的同時(shí)自動(dòng)更
- 01-10C語(yǔ)言打印楊輝三角示例匯總
- 01-10bat批處理徹底隱藏文件的方法(使用
- 01-11常用的HTML富文本編譯器UEditor、CKEdi
- 08-05織夢(mèng)dedecms首頁(yè)調(diào)用縮略圖為背景
- 08-05dedecms織夢(mèng)模板全站調(diào)用收藏?cái)?shù)的方法