【问题标题】:jQuery chain of functionsjQuery函数链
【发布时间】:2013-01-20 17:51:53
【问题描述】:

我有这样的html

<div class='mydiv expanded' id='1'>aaa</div>
<div class='mydiv ' id='2'>bbb</div>
<div class='mydiv ' id='3'>ccc</div>
<div class='mydiv ' id='4'>ddd</div>

还有两个功能:

function collapse(){
$(document).find('.expanded').removeClass('expanded')
}

function expand(itemid){
$(document).find('.mydiv[id="'+itemid+'"]').addClass('expanded');
}

从我调用的其他函数

collapse() //我想删除所有“扩展”的类

expand(3) //我想将“扩展”类添加到 id 为 3 的元素

我怎样才能一个接一个地调用这些函数 - 先折叠,然后展开。

我看过 defered 和 $.when.then 方法,但据我了解,它们可以与 ajax 调用一起使用...

【问题讨论】:

  • 这些都不是异步运行的。 collapse(); expand(3) 应该可以正常工作
  • 您的代码运行良好...您要实现什么目标?
  • 对不起,问题是由其他函数引起的,但我感觉这两个函数被同时调用了。我的错。

标签: jquery function asynchronous chaining


【解决方案1】:

JavaScript 是逐行解释和执行的。只需按照您希望它们发生的顺序调用您的方法即可。

在处理 DOM 或 AJAX 等事件时需要 $.when.then。

【讨论】:

    猜你喜欢
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多