IE瀏覽器兼容
阿新 • • 發佈:2017-07-12
其他 request對象 shift charset option gamma 同步 element document
jQuery中$.ajax()方法的參數對象中的屬性或方法,並簡述其用途
url: 要求為String類型的參數,(默認為當前頁地址)發送請求的地址。
type: 要求為String類型的參數,請求方式(post或get)默認為get。
註意其他http請求方法,例如put和 delete也可以使用,但僅部分瀏覽器支持。
timeout: 要求為Number類型的參數,設置請求超時時間(毫秒)。此設置將覆蓋$.ajaxSetup()方法的全局設置。
async:要求為Boolean類型的參數,默認設置為true,所有請求均為異步請求。
如果需要發送同步請求,請將此選項設置為false。註意,同步請求將鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行。cache:要求為Boolean類型的參數,默認為true(當dataType為script時,默認為false)。設置為false將不會從瀏覽器緩存中加載請求信息。
data: 要求為Object或String類型的參數,發送到服務器的數據。如果已經不是字符串,將自動轉換為字符串格式。get請求中將附加在url後。防止這種自動轉換,可以查看processData選項。對象必須為key/value格式,例如{foo1:"bar1",foo2:"bar2"}轉換為&foo1=bar1&foo2=bar2。如果是數組,JQuery將自動為不同值對應同一個名稱。例如{foo:["bar1","bar2"]}轉換為&foo=bar1&foo=bar2。
dataType: 要求為String類型的參數,預期服務器返回的數據類型。如果不指定,JQuery將自動根據http包mime信息返回responseXML或responseText,並作為回調函數參數傳遞
可用的類型如下:
xml:返回XML文檔,可用JQuery處理。
html:返回純文本HTML信息;包含的script標簽會在插入DOM時執行。
script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數。註意在遠程請求時(不在同一個域下),所有post請求都將轉為get請求。
json:返回JSON數據。
jsonp:JSONP格式。使用SONP形式調用函數時,例如myurl?callback=?,JQuery將自動替換後一個?”為正確的函數名,以執行回調函數。
text:返回純文本字符串。
beforeSend:要求為Function類型的參數,發送請求前可以修改XMLHttpRequest對象的函數,例如添加自定義HTTP頭。在beforeSend中如果返回false可以取消本次ajax請求。XMLHttpRequest對象是惟一的參數。
function(XMLHttpRequest){
this; //調用本次ajax請求時傳遞的options參數
}
complete:要求為Function類型的參數,請求完成後調用的回調函數(請求成功或失敗時均調用)。
參數:XMLHttpRequest對象和一個描述成功請求類型的字符串。
function(XMLHttpRequest, textStatus){
this; //調用本次ajax請求時傳遞的options參數
}
success:要求為Function類型的參數,請求成功後調用的回調函數,有兩個參數。
IE6下面元素的寬高小於16PX時 會默認以16PX顯示(最小寬高) 解決辦法:設置元素overflow:hidden; 當文字全是字母或數字時會超容器對溢出隱藏的樣式失效, 解決辦法:設置下父級強制折行,字母斷行就OK 1、終極方法:條件註釋 <!--[if lte IE 6]> 這段文字僅顯示在 IE6及IE6以下版本。<![endif]--> <!--[if gte IE 6]> 這段文字僅顯示在 IE6及IE6以上版本。<![endif]--> <!--[if gt IE 6]> 這段文字僅顯示在 IE6以上版本(不包含IE6)。<![endif]--> <!--[if IE 5.5]> 這段文字僅顯示在 IE5.5。 <![endif]--> <!--在 IE6及IE6以下版本中加載css--> <!--[if lte IE 6]> <link type="text/css" rel="stylesheet" href="css/ie6.css" mce_href="css/ie6.css" /><![endif]--> 缺點是在IE瀏覽器下可能會增加額外的HTTP請求數。 2、CSS選擇器區分 IE6不支持子選擇器;先針對IE6使用常規申明CSS選擇器,然後再用子選擇器針對IE7+及其他瀏覽器。復制代碼代碼如下: /* IE6 專用 */ content {color:red;} /* 其他瀏覽器 */ div>p .content {color:blue;} 3、PNG半透明圖片的問題 雖然可以通過JS等方式解決,但依然存在載入速度等問題,所以,這個在設計上能避免還是盡量避免為好。 4、IE6下的圓角 IE6不支持CSS3的圓角屬性,性價比最高的解決方法就是用圖片圓角來替代,或者放棄IE6的圓角。 5、IE6背景閃爍 如果你給鏈接、按鈕用CSS sprites作為背景,你可能會發現在IE6下會有背景圖閃爍的現象。造成這個的原因是由於IE6沒有將背景圖緩存,每次觸發hover的時候都會重新加載,可以用JavaScript設置IE6緩存這些圖片: 復制代碼代碼如下: document.execCommand("BackgroundImageCache",false,true); 6、最小高度 IE6 不支持min-height屬性,但它卻認為height就是最小高度。 解決方法:使用ie6不支持但其余瀏覽器支持的屬性!important。 復制代碼代碼如下: #container {min-height:200px; height:auto !important; height:200px;} 7、最大高度 復制代碼代碼如下: //直接使用ID來改變元素的最大高度 var container = document.getElementById(‘container‘); container.style.height = (container.scrollHeight > 199) ? "200px" : "auto"; //寫成函數來運行 function setMaxHeight(elementId, height){ var container = document.getElementById(elementId); container.style.height = (container.scrollHeight > (height - 1)) ? height + "px" : "auto"; } //函數示例 setMaxHeight(‘container1‘, 200); setMaxHeight(‘container2‘, 500); 8、100% 高度 在IE6下,如果要給元素定義100%高度,必須要明確定義它的父級元素的高度,如果你需要給元素定義滿屏的高度,就得先給html和body定義height:100%;。 9、最小寬度 同max-height和max-width一樣,IE6也不支持min-width。 復制代碼代碼如下: //直接使用ID來改變元素的最小寬度 var container = document.getElementById(‘container‘); container.style.width = (container.clientWidth < width) ? "500px" : "auto"; //寫成函數來運行 function setMinWidth(elementId, width){ var container = document.getElementById(elementId); container.style.width = (container.clientWidth < width) ? width + "px" : "auto"; } //函數示例 setMinWidth(‘container1‘, 200); setMinWidth(‘container2‘, 500); 10、最大寬度 復制代碼代碼如下: //直接使用ID來改變元素的最大寬度 var container = document.getElementById(elementId); container.style.width = (container.clientWidth > (width - 1)) ? width + "px" : "auto"; //寫成函數來運行 function setMaxWidth(elementId, width){ var container = document.getElementById(elementId); container.style.width = (container.clientWidth > (width - 1)) ? width + "px" : "auto"; } //函數示例 setMaxWidth(‘container1‘, 200); setMaxWidth(‘container2‘, 500); 11、雙邊距Bug 當元素浮動時,IE6會錯誤的把浮動方向的margin值雙倍計算。個人覺得較好解決方法是避免float和margin同時使用。12、清除浮動 如果你想用div(或其他容器)包裹一個浮動的元素,你會發現必須給div(容器)定義明確的height、width、overflow之中一個屬性(除了auto值)才能將浮動元素嚴實地包裹。復制代碼代碼如下: #container {border:1px solid #333; overflow:auto; height:100%;} #floated1 {float:left; height:300px; width:200px; background:#00F;} #floated2 {float:right; height:400px; width:200px; background:#F0F;} 更多:http://www.twinsenliang.net/skill/20090413.html 13、浮動層錯位 當內容超出外包容器定義的寬度時,在IE6中容器會忽視定義的width值,寬度會錯誤地隨內容寬度增長而增長。 浮動層錯位問題在IE6下沒有真正讓人滿意的解決方法,雖然可以使用overflow:hidden;或overflow:scroll;來修正, 但hidden容易導致其他一些問題,scroll會破壞設計;JavaScript也沒法很好地解決這個問題。所以建議是一定要在布局上避免這個問題發生,使用一個固定的布局或者控制好內容的寬度(給內層加width)。 14、躲貓貓bug 在IE6和IE7下,躲貓貓bug是一個非常惱人的問題。一個撐破了容器的浮動元素,如果在他之後有不浮動的內容,並且有一些定義了:hover的鏈接,當鼠標移到那些鏈接上時,在IE6下就會觸發躲貓貓。 解決方法很簡單: 1.在(那個未浮動的)內容之後添加一個<span style="clear: both;"> </span> 2.觸發包含了這些鏈接的容器的hasLayout,一個簡單的方法就是給其定義height:1%; 15、絕對定位元素的1像素間距bug IE6下的這個錯誤是由於進位處理誤差造成(IE7已修復),當絕對定位元素的父元素高或寬為奇數時,bottom和right會產生錯誤。唯一的解決辦法就是給父元素定義明確的高寬值,但對於液態布局沒有完美的解決方法。 16、3像素間距bug 在IE6中,當文本(或無浮動元素)跟在一個浮動的元素之後,文本和這個浮動元素之間會多出3像素的間隔。 給浮動層添加 display:inline 和 -3px 負值margin 給中間的內容層定義 margin-right 以糾正-3px 17、IE下z-index的bug 在IE瀏覽器中,定位元素的z-index層級是相對於各自的父級容器,所以會導致z-index出現錯誤的表現。解決方法是給其父級元素定義z-index,有些情況下還需要定義position:relative。 18、Overflow Bug 在IE6/7中,overflow無法正確的隱藏有相對定位position:relative;的子元素。解決方法就是給外包容器.wrap加上position:relative;。 19、橫向列表寬度bug 如果你使用float:left;把<li>橫向擺列,並且<li>內包含的<a>(或其他)觸發了 hasLayout,在IE6下就會有錯誤的表現。 解決方法很簡單,只需要給<a>定義同樣的float:left;即可。 20、列表階梯bug 列表階梯bug通常會在給<li>的子元素<a>使用float:left;時觸發我們本意是要做一個橫向的列表(通常 是導航欄),但IE卻可能呈現出垂直的或者階梯狀。 解決辦法就是給<li>定義float:left;而非子元素<a>,或者 給<li>定義display:inline;也可以解決。 21、垂直列表間隙bug 當我們使用<li> 包含一個塊級子元素時,IE6(IE7也有可能)會錯誤地給每條列表元素(<li>)之間添加空隙。 解決方法:把<a>flaot並且清除float來解決這個問題; 另外一個辦法就是觸發<a>的hasLayout(如定 義高寬、使用zoom:1;); 也可以給<li> 定義display:inline;來解決此問題; 另外還有一個極有趣的方法,給包含的文本末尾添加一個空格。 22、IE6中的:hover 在IE6中,除了(需要有href屬性)才能觸發:hover行為,這妨礙了我們實現許多鼠標觸碰效果,但還是有一些法子是可以解決它的。 最好是不要用:hover來實現重要的功能,僅僅只用它來強化效果。 23、IE6調整窗口大小的 Bug 當把body居中放置,改變IE瀏覽器大小的時候,任何在body裏面的相對定位元素都會固定不動了。 解決辦法:給body定義position:relative;就行了。 24、文本重復Bug 在IE6中,一些隱藏的元素(如註釋、display:none;的元素)被包含在一個浮動元素裏,就有可能引發文本重復bug。 解決辦法:給浮動元素添加display:inline;。 25、IE6 7a標簽中的img標簽 如果有父母元素 那麽在IE7下面 圖片鏈接會失效 由於,在IE6,7中,由於觸發了img標簽的父元素的hasLayout屬性,從而使得父元素(這裏是div元素)自己的布局掩蓋了a標簽的鏈接 具有hasLayout屬性的標簽(默認haslayout值為true) <html> <body> <table> <tr> <td> <td> <img> <hr> <input> <button> <select> <textarea> <fieldset> <legend><iframe> <embed> <object> <applet> <marquee> 能夠觸發hasLayout的css屬性(樣式有): display:inline-block; float:left|right; width(height):除了auto之外的值。 position:absolute; zoom:1 顯式開啟hasLayout。 Ie7下觸發hasLayout的樣式屬性還有: min-height:(任意值) min-width:(任意值) max-height:(除none之外任意值) max-width:(除none之外任意值) overflow:(除visible之外任意值,僅用於塊級元素) overflow-x:(除visible之外任意值,僅用於塊級元素) overflow-y:(除visible之外任意值,僅用於塊級元素) position:fixed 解決方案 使用position:relative而不是position:absolute; 添加背景色; 添加透明的背景圖片,gif或png,但會增加無意義的http請求; 使用background:url(about:blank),最佳方案 。 25、IE7下面 父級的子級元素有定位屬性,裏面滾動失效,不占空間 解決辦法:給父級加上相對定位 26. word-break:normal(默認)| break-all | keep-all Firefox、Opera不能識別
問題 | 瀏覽器 | DEMO | 解決辦法 | |
1 | input[button | submit]未居中 | IE8 | bug | fixed | 添加width |
2 | body{overflow:hidden;}沒有去掉滾動條 | IE6/7 | bug | fixed | 改成html{overflow:hidden;} |
3 | 擁有hasLayout的標簽有高度 | IE6/7 | bug | fixed | 添加_overflow:hidden;*height:0 |
4 | form>[hasLayout]元素有margin-left時,子元素中的[input | textarea] 出現2×margin-left | IE6/7 | bug | fixed | form > [hasLayout 元素]{margin-left:寬度;} form div{*margin-left:寬度÷2;} |
5 | 當子元素有position:relative的時候,父元素設置overflow:[hidden|auto]相當於給子元素設置了position:visible; | IE6/7 | bug | fixed | 給父元素設置position:relative; |
6 | 列表中混亂的浮動:在list中浮動圖片時,圖片出現溢出正常位置;或沒有list-style | IE8 | bug | fixed | 用背景圖片替換list-style |
7 | th 不會自動繼承上級元素的 text-align | IE8 | bug | fixed | 給th添加text-align:inherit; |
8 | 樣式([email protected](link)) 最多允許個為是:32 | IE6-8 | ─ 常識 | 99.99%的情況下,不會遇到 |
9 | PNG圖片中的顏色和背景顏色的值相同,但顯示不同 | IE6-7 | bug | fixed | 利用pngcrush去除圖片中的 Gamma profiles |
10 | margin:0 auto; 不能讓block元素水平居中 | IE6-8 | bug | fixed | 給block元素添加一個width |
11 | 使用偽類 :first-line | :first-letter, 屬性的值中出現!important 會使屬性失效 | IE8 | bug | fixed | !important is evil, don’t use it anymore |
12 | :first-letter 失效 | IE6 | bug | fixed | 把 :first-letter 移到離{}最近的地方,如 h1, p:first-letter{},而非 p:first-letter h1{} |
13 | Position:absolute元素中,a display:block, 在非:hover時只有文本可點擊 | IE6/7 | bug | fixed | 給a添加background, 如果背景透明,使用background:url(‘任何頁面中已經緩存的文件鏈接’),不推薦background:url(#)[官方的解決方法],因為會增加一下HTTP請求 |
14 | dt, dd, li 背景失效 | IE6 | bug | fixed | dt, dd, li{position:relative;} |
15 | <noscript />元素的樣式在啟用javascript的情況下顯示了樣式 | IE6-8 | bug | fixed | 利用js給<noscript />添加display:none; |
16 | li內元素偏離 baseline 向下拉 | IE8/9 | bug | fixed | 給li設置display:inline 或 float:[方向] |
17 | 列表中li的list-style不顯示 | IE6/7 | bug | fixed | 給li添加margin-left,留空間來顯示(不要加在ul上) |
18 | 圖片不能垂直居中 | IE6/7 | bug/fixed | 添加一個空標簽,並賦給”Layout”, 比如display:inline-block; |
19 | 不能自定義指針樣式 | IE6-8 | bug | fixed | 給指針文件設置絕對路徑 |
20 | 高度超過height定義的高 | IE6 | bug/fixed | 添加_overflow:hidden;(推薦)或者_font-size:0; |
21 | 寬度超過width定義的寬 | IE6 | bug/fixed | 添加_overflow:hidden; |
22 | 雙倍邊距 | IE6 | ─ 常識 | 添加display:inline到float元素中 |
23 | margin負值隱藏:hasLayout的父元素內的非hasLayout元素,使用負邊距時,超出父元素部分不可見 | IE6/7 | bug/fixed | 去掉父元素的hasLayout;或者賦hasLayout給子元素,並添加position:relative; |
24 | 給兩個浮動元素的某中一個的文字設定為斜體,另一個元素下拉在有斜體文字元素的下面 | IE6 | bug/fixed | 給有斜體文字的元素添加overflow:hidden; |
25 | 3px 間隔:在float元素後的元素,會有3px間隔 | IE6 | bug/fixed | 因為是確切的3px,所以,用“暴力破解”吧,比如_margin-left:-3px;或者也設置float |
26 | text-align 影響塊級元素 | IE6/7 | bug/fixed | 整理你的float;或者分開設置text-align |
- 由服務器返回,並根據dataType參數進行處理後的數據
- 描述狀態的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
this;//調用本次ajax請求時傳遞的options參數
error:要求為Function類型的參數,請求失敗時被調用的函數。該函數有3個參數,即XMLHttpRequest對象、錯誤信息、捕獲的錯誤對象(可選)。
ajax事件函數如下:
function(XMLHttpRequest, textStatus, errorThrown){
//通常情況下textStatus和errorThrown只有其中一個包含信息
this;//調用本次ajax請求時傳遞的options參數
}
contentType:要求為String類型的參數,當發送信息至服務器時,內容編碼類型默認為"application/x-www-form-urlencoded"。該默認值適合大多數應用場合。
dataFilter:要求為Function類型的參數,給Ajax返回的原始數據進行預處理的函數。提供data和type兩個參數。data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數。函數返回的值將由jQuery進一步處理。
function(data, type){
//返回處理後的數據
return data;
}
global:要求為Boolean類型的參數,默認為true。表示是否觸發全局ajax事件。設置為false將不會觸發全局ajax事件,ajaxStart或ajaxStop可用於控制各種ajax事件。
ifModified:要求為Boolean類型的參數,默認為false。僅在服務器數據改變時獲取新數據。服務器數據改變判斷的依據是Last-Modified頭信息。默認值是false,即忽略頭信息。
jsonp:要求為String類型的參數,在一個jsonp請求中重寫回調函數的名字。該值用來替代在"callback=?"這種GET或POST請求中URL參數裏的"callback"部分,例如{jsonp:‘onJsonPLoad‘}會導致將"onJsonPLoad=?"傳給服務器。
username:要求為String類型的參數,用於響應HTTP訪問認證請求的用戶名。
password:要求為String類型的參數,用於響應HTTP訪問認證請求的密碼。
processData:要求為Boolean類型的參數,默認為true。默認情況下,發送的數據將被轉換為對象(從技術角度來講並非字符串)以配合默認內容類型"application/x-www-form-urlencoded"。如果要發送DOM樹信息或者其他不希望轉換的信息,請設置為false。
scriptCharset:要求為String類型的參數,只有當請求時dataType為"jsonp"或者"script",並且type是GET時才會用於強制修改字符集(charset)。通常在本地和遠程的內容編碼不同時使用。
1.url: 要求為String類型的參數,(默認為當前頁地址)發送請求的地址。
2.type: 要求為String類型的參數,請求方式(post或get)默認為get。註意其他http請求方法,例如put和delete也可以使用,但僅部分瀏覽器支持。
3.timeout: 要求為Number類型的參數,設置請求超時時間(毫秒)。此設置將覆蓋$.ajaxSetup()方法的全局設置。
4.async: 要求為Boolean類型的參數,默認設置為true,所有請求均為異步請求。如果需要發送同步請求,請將此選項設置為false。註意,同步請求將鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行。
5.cache: 要求為Boolean類型的參數,默認為true(當dataType為script時,默認為false),設置為false將不會從瀏覽器緩存中加載請求信息。
6.data: 要求為 Object或String類型的參數,發送到服務器的數據。如果已經不是字符串,將自動轉換為字符串格式。get請求中將附加在url後。防止這種自動 轉換,可以查看 processData選項。對象必須為key/value格式,例如{foo1:"bar1",foo2:"bar2"}轉換 為&foo1=bar1&foo2=bar2。如果是數組,JQuery將自動為不同值對應同一個名稱。例如{foo: ["bar1","bar2"]}轉換為&foo=bar1&foo=bar2。
7.dataType: 要求為String類型的參數,預期服務器返回的數據類型。如果不指定,JQuery將自動根據http包mime信息返回responseXML或responseText,並作為回調函數參數傳遞。可用的類型如下:
xml:返回XML文檔,可用JQuery處理。
html:返回純文本HTML信息;包含的script標簽會在插入DOM時執行。
script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數。註意在遠程請求時(不在同一個域下),所有post請求都將轉為get請求。
json:返回JSON數據。
jsonp:JSONP格式。使用SONP形式調用函數時,例如myurl?callback=?,JQuery將自動替換後一個“?”為正確的函數名,以執行回調函數。
text:返回純文本字符串。
8.beforeSend:
要求為Function類型的參數,發送請求前可以修改XMLHttpRequest對象的函數,例如添加自定義HTTP頭。在beforeSend中如果返回false可以取消本次ajax請求。XMLHttpRequest對象是惟一的參數。
function(XMLHttpRequest){
this; //調用本次ajax請求時傳遞的options參數
}
9.complete:
要求為Function類型的參數,請求完成後調用的回調函數(請求成功或失敗時均調用)。參數:XMLHttpRequest對象和一個描述成功請求類型的字符串。
function(XMLHttpRequest, textStatus){
this; //調用本次ajax請求時傳遞的options參數
}
10.success:要求為Function類型的參數,請求成功後調用的回調函數,有兩個參數。
(1)由服務器返回,並根據dataType參數進行處理後的數據。
(2)描述狀態的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
this; //調用本次ajax請求時傳遞的options參數
}
11.error:
要求為Function類型的參數,請求失敗時被調用的函數。該函數有3個參數,即XMLHttpRequest對象、錯誤信息、捕獲的錯誤對象(可選)。ajax事件函數如下:
function(XMLHttpRequest, textStatus, errorThrown){
//通常情況下textStatus和errorThrown只有其中一個包含信息
this; //調用本次ajax請求時傳遞的options參數
}
12.contentType:
要求為String類型的參數,當發送信息至服務器時,內容編碼類型默認為"application/x-www-form-urlencoded"。該默認值適合大多數應用場合。
13.dataFilter:
要求為Function類型的參數,給Ajax返回的原始數據進行預處理的函數。提供data和type兩個參數。data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數。函數返回的值將由jQuery進一步處理。
function(data, type){
return data; //返回處理後的數據
}
14.dataFilter:
要求為Function類型的參數,給Ajax返回的原始數據進行預處理的函數。提供data和type兩個參數。data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數。函數返回的值將由jQuery進一步處理。
function(data, type){
return data; //返回處理後的數據
}
15.global:
要求為Boolean類型的參數,默認為true。表示是否觸發全局ajax事件。設置為false將不會觸發全局ajax事件,ajaxStart或ajaxStop可用於控制各種ajax事件。
16.ifModified:
要求為Boolean類型的參數,默認為false。僅在服務器數據改變時獲取新數據。服務器數據改變判斷的依據是Last-Modified頭信息。默認值是false,即忽略頭信息。
17.jsonp:
要求 為String類型的參數,在一個jsonp請求中重寫回調函數的名字。該值用來替代在"callback=?"這種GET或POST請求中URL參數裏 的"callback"部分,例如{jsonp:‘onJsonPLoad‘}會導致將"onJsonPLoad=?"傳給服務器。
18.username:
要求為String類型的參數,用於響應HTTP訪問認證請求的用戶名。
19.password:
要求為String類型的參數,用於響應HTTP訪問認證請求的密碼。
20.processData:
要 求為Boolean類型的參數,默認為true。默認情況下,發送的數據將被轉換為對象(從技術角度來講並非字符串)以配合默認內容類 型"application/x-www-form-urlencoded"。如果要發送DOM樹信息或者其他不希望轉換的信息,請設置為false。
21.scriptCharset:
要求為String類型的參數,只有當請求時dataType為"jsonp"或者"script",並且type是GET時才會用於強制修改字符集(charset)。通常在本地和遠程的內容編碼不同時使用。
案例代碼
$(function(){
$(‘#send‘).click(function(){
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
$(‘#resText‘).empty(); //清空resText裏面的所有內容
var html = ‘‘;
$.each(data, function(commentIndex, comment){
html += ‘<div class="comment"><h6>‘ + comment[‘username‘]
+ ‘:</h6><p class="para"‘ + comment[‘content‘]
+ ‘</p></div>‘;
});
$(‘#resText‘).html(html);
}
});
});
});
22.順便說一下$.each()函數:
$.each()函數不同於JQuery對象的each()方法,它是一個全局函數,不操作JQuery對象,而是以一個數組或者對象作為第1個參數,以一個回調函數作為第2個參數。回調函數擁有兩個參數:第1個為對象的成員或數組的索引,第2個為對應變量或內容。
IE瀏覽器兼容