原生JS转换成jQuery的写法

if(window.frames[0]&&window.frames[0].frames[0]){varfields=window.frames[0].frames[0]... if (window.frames[0] && window.frames[0].frames[0]) {
var fields = window.frames[0].frames[0].document.body.all;
if(fields == null || fields == ""){
var fields = window.frames[0].frames[0].document.body.getElementsByTagName("*");
}
}

把上面的JS转换成jQuery的写法.
还有问下, window.frames[0].frames[0].document.body.all 这个是什么意思
展开
 我来答
xiangyuecn
2013-12-24 · TA获得超过336个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:310万
展开全部

if里面完全可以只用var fields = window.frames[0].frames[0].document.body.getElementsByTagName("*");这一句,其他的全是多余的。


改成jquery:

var fields=[];
$("iframe:eq(0)").each(function(i,v){$("iframe:eq(0)",v.document).each(function(i,v){fields=$("body>*",v.document);});});
追问
i和v是哪里定义的?具体作用是什么?
追答
是jquery的each方法传进去的,$("iframe:eq(0)")返回的是伪数组,i就是第i个iframe节点,v就是iframe节点了,这段代码没测试过,你测试一下
Prince____Yu
2013-12-24 · TA获得超过3718个赞
知道小有建树答主
回答量:864
采纳率:33%
帮助的人:965万
展开全部
window.frames[0].frames[0].document.body.all
是当前页面中两级嵌套的frames里面body中的所有内容。
你那样的写发就挺好。元素的写法如果要用某个元素直接:
$(fields)就好了!
更多追问追答
追问
window.frames[0].frames[0] ie10 不支持这种写法,这个问题要怎么解决呢?我想换成jQuery的写法或者有别的方法让ie10兼容也行
追答
奥。我看一下。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式