Q0,新手必看教程:
第一步,jQuery中文入門指南,翻譯加實例,jQuery的起點教程
第二步,下載手冊方便查詢(jQuery 1.41 中文API文檔 chm版)
第三步,深刻了解jQuery對象和普通DOM對象的區別。互相轉化見Q1
Q1,js的寫法:document.getElementById('save').disabled=true;
在jquery中我是這樣寫的$("#save").disabled = true; 為什麼沒效果呢
A,這個是典型的問題,其實因為$("#save")出來的其實是jQuery對象,而不是普通DOM對象
這是新手常見的問題。
解決方法有2:
1,用JQ寫法,$("#save").attr("disabled","true");
2,轉成DOM寫法$("#save")[0].disabled=true;
當然,$("#save")[0]也可以寫成$("#save").get(0)。他返回的也是DOM元素
$("#save").eq(0)得到的還是jq對象
$(dom對象)就能得到一個jq對象。
Q2,獲取選中的checkboxA:
獲取所有選中的checkbox:
$("input:checkbox:checked")
判斷是否一組checkbox都選中了:
if($("input:checkbox:checked").length){}
判斷某一個checkbox是否被選中
if($("input:checkbox").is(":checked")){}
Q3,我的id裡有[]或.之類的符號,怎麼辦?或者帶有命名空間的xml標簽帶有:怎麼辦?
A:用\\來轉義如<div id="id[1]"></div>
$("#id\\[1\\]")
Q4,在框架頁中,如何操作父窗口的對象A,引用UPC的方法
沒找到很好的方法
只好用DOM方法與jquery方法結合的方式實現了
1.在父窗口中操作 選中IFRAME中的所有單選鈕
$(window.frames["iframe1"].document).find("input[type='radio']").attr("checked","true");
2.在IFRAME中操作 選中父窗口中的所有單選鈕
$(window.parent.document).find("input[type='radio']").attr("checked","true");
iframe框架的:<iframe src="test.html" id="iframe1" width="700" height="300" frameborder="0" scrolling="auto"></iframe>
IE7中測試通過 回去你自己試試吧
實現的原理其實很簡單 就是用到了$(DOM對象)可以轉換成jquery對象
==================================================
不過我的方法是
window.parent.jQuery("input[name=validate]").val("<%=Session("GetCode")%>");
這段是來自我博客的自動填寫驗證碼的,有興趣可分析下我的FOOTER裡的那個框架。
其實本質上和UPC的方法是一樣的。大家可以借鑒參考
Q5,解析由AJAX加載的XML,和相關亂碼問題A:見之前的帖子:
hhttp://bbs.jquery.org.cn/read.php?tid-1673.htmlQ6,我下了一個插件Interface,怎麼在最新的jQuery裡一點都不好用?A: Interface已經被完全重寫並且改名為jQuery UI,可以在這裡找到最新版本:
http://ui.jquery.com/Q7,在IE下動畫會閃一下,效果不理想A,加上DTD定義即可
比如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Q8,為什麼官方的說Download jQuery 1.2.3 (
15kb, Minified and Gzipped),但我下在下來卻有
jquery-1.2.3.min.js
52.8 KB A,顯然,他是用了Gzip了(一種服務器端壓縮技術,自己GOOGLE)。而不是官網寫錯了沒更新或者是騙人的~
Q9,pack,min和原版三個版本什麼區別呢?pack是如果服務器沒開啟gzip的時候用
min是服務器有開gzip的時候用
原版可以用於平時開發的時候,或者自己分析源碼用。
Q10,jQuery用的是什麼壓縮軟件?
A: Dean Edwards 寫的Packer ,現在已經改用
TBCompressor(YUI Compressor) 壓縮了。推薦下載一份。
Q11,$('a[@href^="mailto"]') 這個代碼在jQuery 1.3裡不能用,1.2裡可以,為什麼?
A: jQuery 1.3以後已經不需要再使用那個@符號了,只需要簡單的去掉那個@符號就可以正常運作了。
Q12,jQuery能跨域麼?
A: jQuery本身就是對於JS的封裝,浏覽器對JS有權限設置,JS做不到的,jQuery也無法做到。但是可以通過 jsonp 的方式跨域。