- 时间:2020-05-03 03:17 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:jquery 新手学习常见问题解决方法
Q0,新手必看教程:
第一步,[url=http://www.1sucai.cn/shouce/jquery/jQuery_study.html]jQuery中文入门指南,翻译加实例,jQuery的起点教程 [/url]
第二步,下载手册方便查询([url=http://www.1sucai.cn/jiaoben/24044.html]jQuery 1.41 中文API文档 chm版[/url])
第三步,深刻了解jQuery对象和普通DOM对象的区别。互相转化见Q1
[b]Q1,js的写法:document.getElementById('save').disabled=true;
在jquery中我是这样写的$("#save").disabled = true; 为什么没效果呢
[/b]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对象。
[b]Q2,获取选中的checkbox[/b]
A:
获取所有选中的checkbox:
$("input:checkbox:checked")
判断是否一组checkbox都选中了:
if($("input:checkbox:checked").length){}
判断某一个checkbox是否被选中
if($("input:checkbox").is(":checked")){}
[b]Q3,我的id里有[]或.之类的符号,怎么办?或者带有命名空间的xml标签带有:怎么办?
[/b]A:用\\来转义如<div id="id[1]"></div>
$("#id\\[1\\]")
[b]Q4,在框架页中,如何操作父窗口的对象[/b]
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的方法是一样的。大家可以借鉴参考
[b]Q5,解析由AJAX加载的XML,和相关乱码问题[/b]
A:见之前的帖子:[url=http://bbs.jquery.org.cn/read.php?tid-1673.html]hhttp://bbs.jquery.org.cn/read.php?tid-1673.html[/url]
[b]Q6,我下了一个插件Interface,怎么在最新的jQuery里一点都不好用?[/b]
A: Interface已经被完全重写并且改名为jQuery UI,可以在这里找到最新版本:
[url=http://ui.jquery.com/]http://ui.jquery.com/[/url]
[b]Q7,在IE下动画会闪一下,效果不理想[/b]
A,加上DTD定义即可
比如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
[b]Q8,为什么官方的说[/b]
Download jQuery 1.2.3 ([b]15kb[/b], Minified and Gzipped),但我下在下来却有
jquery-1.2.3.min.js [b] 52.8 KB [/b]
A,显然,他是用了Gzip了(一种服务器端压缩技术,自己GOOGLE)。而不是官网写错了没更新或者是骗人的~
[b]Q9,pack,min和原版三个版本什么区别呢?[/b]
pack是如果服务器没开启gzip的时候用
min是服务器有开gzip的时候用
原版可以用于平时开发的时候,或者自己分析源码用。
[b]Q10,jQuery用的是什么压缩软件?
[/b]A: Dean Edwards 写的Packer ,现在已经改用[url=http://www.1sucai.cn/softs/25860.html]TBCompressor[/url](YUI Compressor) 压缩了。推荐下载一份。
[b]Q11,$('a[@href^="mailto"]') 这个代码在jQuery 1.3里不能用,1.2里可以,为什么?
[/b]A: jQuery 1.3以后已经不需要再使用那个@符号了,只需要简单的去掉那个@符号就可以正常运作了。
[b]Q12,jQuery能跨域么?
[/b]A: jQuery本身就是对于JS的封装,浏览器对JS有权限设置,JS做不到的,jQuery也无法做到。但是可以通过 jsonp 的方式跨域。