hmtl中 為了驗證 form的 action提交屬性, 是指 表單提交到的 頁面, 可以是任意 性質的頁面, 如:html頁面, php頁面, asp頁面等都可以, 實際在測試的時候, 可以就寫 提交到的 html頁面, 免得去部署安裝php
但是 ,如果form表單 中的action屬性=""或者不寫, 這時提交到的 目的頁面還是 該頁面自己! 不是其他, 也不是沒有處理者, 提交后本地頁面中的 text文本域中原來輸入的內容沒有 改變? 這是因為 緩存的原因, 而ctrl_F5 則看到沒有利用緩存, 而是從源文件 / 原文件刷新的了....
在jquery的 click, focus , change ,hover等事件處理函數中, 出入函數的 是 this參數, 但是, 你要怎么使用, 那是你自己的需要, 你可以直接使用this, 也可以使用$(this).
javascript的裝載和執行特性
-
Javascript的裝載和執行, 通常來說,瀏覽器對於Javascript的運行有兩大特性:1)載入后馬上執行(即使是對於異步的加載),2)執行時會阻塞頁面后續的內容(包括頁面的渲染、其它資源的下載). --- 你可以利用js的這兩個特性, 來實現某種功能.... 於是,如果有多個js文件被引入,那么對於瀏覽器來說,這些js文件被被串行地載入,並依次執行。
-
因為javascript可能會來操作HTML文檔的DOM樹,所以,瀏覽器一般都不會像並行下載css文件並行下載js文件,因為這是js文件的特殊性造成的。所以,如果你的javascript想操作后面的DOM元素,基本上來說,瀏覽器都會報錯說對象找不到。因為Javascript執行時,后面的HTML被阻塞住了,DOM樹時還沒有后面的DOM結點。所以程序也就報錯了。
所以對於jquery的 $(); 方法, 中間一定要用function(){...}, 因為這是$(document)對象 的ready 事件中 要執行的函數, 即:
$(document).ready( function(){...});
簡寫成 $(function(){...});
======================================================== ===
button和input-button
-
button: 語義上就是一個按鈕,本身是一個行級元素, 但是如果放在 form表單后面, 由於form本身是一個 塊級 元素, 所以, button放在form后將會在下一行.
-
默認時,所有的input 元素都是 行級 元素, 所以都在一行, 排放在 form 表單容器中
-
input button中, 按鈕上的文字, 是通過 value值來設置的, 而由於
<button> A Button </button>button 本身是一個單獨的 標簽 元素, 所以它上面的文字, 是通過設置 button標簽中間 的文本 來顯式的 . 如果button標簽中 沒有包含文字,將顯示得很低很矮的一個小按鈕. -
input button主要是 顯示默認的 文字 風格樣式, 而button標簽的用法, 主要是用來 顯示一些比較 復雜的內容, 如圖像等...
-
任何input 元素, 要產生 對form 有效果的 動作, 如 reset submit等, 都要放在 form 表單 標簽元素內, 否則, 跟form就沒有什么關系了, 既然沒有關系, 那么, 也就不能 對 form 產生 提交/重置等 操作影響了.
-
form 表單內部的 button(因為在form外部的button 不會對form產生影響), 可以有三種type: 普通的button, 提交的submit, 重置的 reset. 就具有相應的功能...當然, input type=button就只有 button一種 類型了...
================================================ ==
alert中如何換行? 因為alert方法中, 不支持html標簽, html標簽將按照 literally 字面上進行顯示, 不會被解析 所以 換行不能用 <br> 而是要用 \n 來表示.
<button> 標簽上如何顯式圖片? 這也就是 所謂的 "圖片按鈕". 不能通過button的屬性 url來實現, 而是 要通過 buttton 的 css樣式來實現. 實際上, 對於任何html元素來說, 都具有 都可以 通過css 的style樣式 ,來 規定元素 的背景顏色, 背景圖片, 和邊框 大小 寬高等樣式.... 所以圖片按鈕實際上只是一個普通的按鈕, 只是 給它加上了一個 背景圖片的 樣式而已! 可以在圖片按鈕上添加 顯示文字 , 也可以不添加文字, 顯示為 所謂的 純粹的 圖片按鈕!!
-
在jquery的選擇器,
$(":button")匹配的是所有的按鈕, 不管是form內部的, 還是form外面 的, 不管是 input-button:<input type="button" >, 還是<button>...</button>. 實際上, html中的 button就這兩種形式, input-button和 標簽button.
關於寫尺寸的時候, 是否要寫px單位? 第一, html默認的單位就是px, 所以html中可以不寫px.如 <table borde="3"> 是有效的; 第二, css中, 沒有默認的尺寸單位, 所以樣式屬性中的 數字后一定要加 px做單位, 否則這條css樣式是無效的, table { border: 1 solid #eee;} 將不會出現邊框...
要牢記jquery中 各個"選擇器, 過濾器, 方法函數"中的參數的類型 ,參數所用的 符號 就暗示了 該參數是什么類型的, 如 :not(selector) 和 not(expr| ele| fn) 中, 同樣是not, 但是expr表示必須是字符串, 要加引號的; ele表示是 dom元素, 要獲取dom元素, 可以通過 $("selector")[index] 的方式獲得 element. 而selector: 雖然在 過濾器 :not(selector)中, 可以對selector不加引號, 但是 加上 引號也是 正確的. 總結: 對於選擇器, 除了document外, 其余的凡是出現 selector的地方, 都統一的加上引號, 如果外面是雙引號, 里面就加上 單引號: $("span:not('.span1')")......
關於not函數和:not篩選器? 在 如后結構 <p> <span class="span1"> span1 </span> <span class="span2"> span2 </span> </p> 中, 使用 alert( $("p: not('.span1')").text()); 本意是想過濾掉.span1, 但是結果總是 顯示 "span1 span2". 為什么? 因為not是用來對 前面篩選出來的 元素集合 根據not中的條件 進行過濾的, 所以, not過濾的總是 同種 元素的集合. 是在 多個 同類 元素中進行過濾. 前面那個結構中, 是 先選出 所有 p 標簽元素的 集合, 然后過濾. 這里 只有一個 p標簽元素, 所以集合中就只有一個p元素. 要對這個p元素進行 不是.span1 類的 條件過濾, 由於這個p沒有.span1的類, 所以最后, 總是會返回 這個p結構...所以總是顯是 span1 span2. 而不是span2. 要只是顯示span2, 應該是: alert( $("span: not('.span1')").text());
=================================================== ==
如果不用任何的button , submit, image圖像域, 還可以使用手動的方式, 通過代碼的方式提交表單: $("要提交的表單").submit(); 即表單自己有一個 提交 方法submit(), 就是用來提交的
inputtype=submit 表單form沒有onsubmit事件?
沒有onsubmit事件?確實是沒有! 實際上是submit按鈕的 click事件, 在這個按鈕單擊提交的時候, 首先是會引起form的"submit"事件,然后才會去調用 form.submit()函數. 所以可以在 onclick事件(實際上就是包含 了onsubmit事件, 是onsubmit的觸發源!) 處理函數中, 通過return false來取消 提交, 通過(默認的就是)return true來提交表單.
注意: 在click函數中 , 去調用函數validateForm, 通過return false/true來控制是否繼續提交表單.. 函數中,一定要 顯示的寫 return true 還是 false, 不能是只寫return, return默認的還是返回true;
只有在type=submit時, 才有 提交的可能, 否則, 如果只是一個普通的按鈕,默認單擊時, 是沒有任何動作的.
對reset類型的按鈕, 理解reset的含義, 是要恢復到input type=text等 的 "初始狀態", 而不是清空input-text: recovery its original value, not empty.
普通f5刷新: 會保留你在表單input中填寫的數據, 但是由 js 執行產生的結果都將消失, 如果 按ctrl+F5則全部/所有的元素都將 初始化.
寫事件 "屬性" 的時候, 現在的主流瀏覽器, 支持 全部小寫,也支持駝峰書寫法。但不支持大小寫混寫. 如: onclick, onClick是可以的 ,但是OnCliCk是不行的.
對同一個標簽元素, 不同的瀏覽器在顯示 / 渲染 元素標簽的 默認屬性時, 可能效果是不同的, 如:對於提交按鈕input type="submit" 谷歌顯示的是“ 提交”, 火狐顯示的是“提交查詢”, ie顯示的是“提交查詢內容”。
html的標簽, div, p, span div等, 都 可以 沒有絕對的 層次和 包含 關系, 如button 可以包含div. 如在button標簽中 可以包含div 標簽.
任何html元素, 如果設置 屬性 不能實現其 需求時, 可以 通過css來設置 他的 背景 邊框 寬高等. 如要設置 有 圖片的 按鈕, 就時通過 css 的 background-image 來實現的:


:first和 :first-child的區別?
:first是 只返回 前面那個選擇器的 第一個 子元素, 總的 只返回一個 子元素;
:first-child 是返回 前面選擇器 集合中 每個 父元素的 第一個子元素, 總的來說, 會返回 多個元素.



