多个.load事件的JQuery共享函数
JQuery shared functions for multiple .load events
我使用JQuery .load函数将一些段落从3个单独的url拉到我的主页上的3个单独的div中。然后,我想使用JQuery向主页面的3个div中的每个div添加函数。
这是我现在的(非常)简化版本:
第一页:
<div class="mycontent">
<P> test </p>
</div>
第二页:
<div class="mycontent">
<p> test </p>
</div>
3页:
<div class="mycontent">
<p> test </p>
</div>
主页标记:
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
主页JQuery:
$(document).ready(function(){
$(".div1").load("myurlA.aspx .mycontent p", function(){
$(".div1 p").wrapAll("<div class='x'></div>");
});
$(".div2").load("myurlB.aspx .mycontent p", function(){
$(".div2 p").wrapAll("<div class='x'></div>");
});
$(".div3").load("myurlC.aspx .mycontent p", function(){
$(".div3 p").wrapAll("<div class='x'></div>");
});
});
这工作…但是我想用一个。wrapall来把三个div中的所有段落都括起来。我实际的主页在每个.load函数中都有更多的方法,重复相同的方法似乎并不理想。我试过在。load事件后触发我的方法,但我不能让它们工作,除非它们在。load函数内。
任何帮助都会很感激。谢谢你!
下面的代码更加动态,而且它会在脚本加载时包装每个div。
$(".div-link").each(function() {
var current = $(this);
var link = current.data("link");
current.load(link + " .mycontent p", function() {
$(this).children("p").wrapAll("<div class='x'></div>");
console.log('loaded')
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div-link" data-link="myurlA.aspx"></div>
<div class="div-link" data-link="myurlB.aspx"></div>
<div class="div-link" data-link="myurlC.aspx"></div>
使用jQuery.when:
$(document).ready(function() {
$.when(
$(".div1").load("myurlA.aspx .mycontent p")
$(".div2").load("myurlB.aspx .mycontent p")
$(".div3").load("myurlC.aspx .mycontent p")
).then(function() {
$("div p").wrap("<div class='x'></div>")
});
});
编辑:这是我最终的工作:
$(".div1").load("myurlA.aspx .mycontent p", myFunction);
$(".div2").load("myurlB.aspx .mycontent p", myFunction);
$(".div3").load("myurlC.aspx .mycontent p", myFunction);
function myFunction(){
//shared methods & events//
};
相关文章:
- 使用闭包共享构造函数参数
- Javascript创建函数,以便在其他函数之间共享变量
- AngularJS:如何与其他控制器共享作用域函数和变量
- 具有不同函数调用定义的共享JavaScript文件
- 节点模块对象范围:在所有函数之间共享一个对象
- 如何在不污染全局命名空间的情况下共享常用的jquery函数
- 如何在递归函数中共享返回值
- 在Javascript中的函数之间共享变量
- AngularJS:在控制器之间共享一个函数
- 嵌套函数中的 JavaScript 实例共享
- JavaScript Raphaël,多个数组共享相同的函数
- 如何在 Crockford 的新构造函数模式中共享“构造函数”功能
- 共享函数的 Javascript 类
- JavaScript - 如何注入不同的函数实现,例如 alert(与 web 和 Node 共享模块.js服务器端)
- 与服务器上的 Meteor.onCreateUser 函数共享客户端变量
- 改进这个自定义函数addClassIfVarDefined()或共享更好的解决方案
- 如何在angular js中跨控制器共享函数
- 多个.load事件的JQuery共享函数
- Web 服务 - JavaScript 我们应该尽可能共享函数或创建新函数
- 将.net代码中的javascript函数传递到共享函数或web方法后面的页面