如何在外部javascript函数中使用jquery load()?
我正在尝试用javascript创建我自己的工具,这将帮助我将一些php函数/文件加载到我的div中 以下是我的javascript:如何在外部javascript函数中使用jquery load()?,javascript,jquery,Javascript,Jquery,我正在尝试用javascript创建我自己的工具,这将帮助我将一些php函数/文件加载到我的div中 以下是我的javascript: $(document).ready(function () { $('.btn').click(function() { $('#someid').testit(); // $('#someid').load('somefile'); it works return false;
$(document).ready(function () {
$('.btn').click(function() {
$('#someid').testit();
// $('#someid').load('somefile'); it works
return false;
})
});
function testit() {
$(this).load('somefile');
}
和我的html:
<div id="someid"></div>
<form>
<input type="submit" value="test" class="btn" />
</form>
我无法从外部函数加载资源-这是为什么?如果您想调用以下内容:
$('#someid').testit();
然后,您必须创建一个jQuery插件来定义方法testit
。该代码看起来像这样:
jQuery.fn.testit = function() {
return this.load('somefile');
}
$('#someid').testit();
然后,也只有这样,才能使用testit()
作为jQuery方法,如下所示:
jQuery.fn.testit = function() {
return this.load('somefile');
}
$('#someid').testit();
并且,它将在所需的选择器上操作
下面是一些正在编写的插件方法,如此。如果您想调用以下内容:
$('#someid').testit();
然后,您必须创建一个jQuery插件来定义方法testit
。该代码看起来像这样:
jQuery.fn.testit = function() {
return this.load('somefile');
}
$('#someid').testit();
然后,也只有这样,才能使用testit()
作为jQuery方法,如下所示:
jQuery.fn.testit = function() {
return this.load('somefile');
}
$('#someid').testit();
并且,它将在所需的选择器上操作
以下是一些正在编写的插件方法。您需要执行以下操作:
$.fn.testit = function () {
return this.load('somefile');
}
您需要执行以下操作:
$.fn.testit = function () {
return this.load('somefile');
}
不幸的是,您无法将这样的函数链接到开箱即用,您必须将其放入jquery.fn原型中才能制作插件 您可以改为使用选择器上的
.each()
函数调用您的函数
在您的情况下,如果要调用
$(“#someid”)。每个(testit)
jquery随后将对找到的每个元素调用testit()函数。不幸的是,您无法将这样的函数从盒子中链接出来,您必须将其放入jquery.fn原型中才能制作插件
您可以改为使用选择器上的.each()
函数调用您的函数
在您的情况下,如果要调用
$(“#someid”)。每个(testit)代码>jquery随后将对找到的每个元素调用testit()函数。您可以像这样传递元素
$(document).ready(function () {
$('.btn').click(function() {
testit($('#someid'));
return false;
})
});
function testit(el) {
el.load('somefile');
}
或者像jfriend00提到的那样创建一个JQuery插件您可以像这样传递元素
$(document).ready(function () {
$('.btn').click(function() {
testit($('#someid'));
return false;
})
});
function testit(el) {
el.load('somefile');
}
或者像jfriend00提到的那样创建一个JQuery插件它真的不能那样工作!你不能仅仅创建一个常规函数并将其链接到jQuery对象,但是你可以使用jQuery的$.fn构造函数来制作一个可链接的插件,这一切都在jQuery的网站上进行了解释。谢谢,但这是在一些jQuery选择器上启动我自己的JS函数的一种方法吗?再说一次,它不是这样工作的吗?您可以将元素作为参数传递到函数中,如:testit(filename,element)
,但不能将函数链接到元素。下面是一个非常简单的示例:Thanky You;)我会试着那样做-它更优雅:)它真的不那样工作!你不能仅仅创建一个常规函数并将其链接到jQuery对象,但是你可以使用jQuery的$.fn构造函数来制作一个可链接的插件,这一切都在jQuery的网站上进行了解释。谢谢,但这是在一些jQuery选择器上启动我自己的JS函数的一种方法吗?再说一次,它不是这样工作的吗?您可以将元素作为参数传递到函数中,如:testit(filename,element)
,但不能将函数链接到元素。下面是一个非常简单的示例:Thanky You;)我将尝试这样做-它更优雅:)我简化了插件函数一点,因为。load()
已经为您迭代了jQuery对象。我简化了插件函数一点,因为。load()
已经为您迭代了jQuery对象。