jquery紧急提问,js如何调用jquery内的函数?
$(document).ready(function(){functionfoo1(){alert(123);}});functionfoo2(){foo1();}调用f...
$(document).ready(function(){
function foo1(){
alert(123);
}
});
function foo2(){
foo1();
}
调用foo2时说foo1未定义
说明:foo2无法放入ready中
因为有iframe会通过window.parent.foo2()调用它
放入ready后会提示foo2未定义
问:foo2如何调用foo1 展开
function foo1(){
alert(123);
}
});
function foo2(){
foo1();
}
调用foo2时说foo1未定义
说明:foo2无法放入ready中
因为有iframe会通过window.parent.foo2()调用它
放入ready后会提示foo2未定义
问:foo2如何调用foo1 展开
6个回答
展开全部
$(document).ready(function(){
//代码
//ready里面包住是一个作用域 保护这里面的变量 函数不受外界污染 所以 外面是调用不到这里面
//定义的变量和函数的 把foo1发到外面声明 相当于在window的作用域下 同在window作用域下其他
//地方都可以调用foo1
})
function foo1(){//声明函数
$('body').addClass('body');
alert($('body')[0].className);
}
//调用
function foo2(){
foo1();
}
//这样就没问题
//代码
//ready里面包住是一个作用域 保护这里面的变量 函数不受外界污染 所以 外面是调用不到这里面
//定义的变量和函数的 把foo1发到外面声明 相当于在window的作用域下 同在window作用域下其他
//地方都可以调用foo1
})
function foo1(){//声明函数
$('body').addClass('body');
alert($('body')[0].className);
}
//调用
function foo2(){
foo1();
}
//这样就没问题
展开全部
函数是可以调用的,方法就不能调用,还有,JQ的函数里的对象是JQ,而JS和JQ的方法不能混着用,如果你JQ想用JS的方法就把对象转成JS对象,如果JS想用JQ的方法就把JS对象转成JQ对象
// JS获取对象
var obj = document.getElementById('id');
// 把JS对象转换到jQuery对象
var $obj = $(obj);
var $obj = $('#id');
// jQuery对象转换到JS对象
var obj = $obj.get(0);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$(document).ready(function(){}) 是若名函数,document,可以不写,可以写成这样$(function(){})
function(){}里定义的都是保护的东东,外面无法调用,但可以调外面的
function(){}里定义的都是保护的东东,外面无法调用,但可以调外面的
追问
你意思我用iframe和选jquery冲突了呗,这可如何是好
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在iframe中调用父窗口的foo2,那么你在父窗口中调用iframe中的foo1,应该是这样:
document.all("Iframe的ID").contentWindow.foo1();
document.all("Iframe的ID").contentWindow.foo1();
追问
没有用parent调用iframe
是想在iframe中调用父中的jquery内函数
window.parent.foo1();这个foo1只能是非jquery函数,是这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foo1不可以放在ready外吗?
------------------------------------
不可以试试这样:
var myf = $(document).ready(function(){
return function foo1(){
alert(123);
}
});
function foo2(){
myf();
}
------------------------------------
不可以试试这样:
var myf = $(document).ready(function(){
return function foo1(){
alert(123);
}
});
function foo2(){
myf();
}
追问
我看你的代码,也是是独立出来,我的这个foo2比较复杂,foo2调用了兄弟层的foo3 foo4
我给写下这样,你就明白了
jQuery(function($){
var tmp;
function foo2(){
tmp = foo3();
}
function foo3(){
//foo4()....
return 1;
}
}//end
function foo1(){
foo2();
}
你这种方式可行,我评估一下可以满足要求,但就是报错了,说myf() is not a funtion
难道不能这样赋值?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询