jquery 新手學習常見問題解決方法
2024-05-06 14:10:22
供稿:網友
Q0,新手必看教程:
第一步,jQuery中文入門指南,翻譯加實例,jQuery的起點教程
第二步,下載手冊方便查詢(jQuery 1.41 中文API文檔 chm版)
第三步,深刻了解jQuery對象和普通DOM對象的區別?;ハ噢D化見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,獲取選中的checkbox
A:
獲取所有選中的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.html
Q6,我下了一個插件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">