【问题标题】:Get class of dynamically created div - jQuery获取动态创建的 div 类 - jQuery
【发布时间】:2014-06-01 18:05:11
【问题描述】:

好的,我有这个:

$('.myKnownClass').click(function() {

            $('.menu').addClass('testingClass');

 });

当我点击 .myKnownClass 时,另一个脚本会添加一个 div.menu,但它不会立即创建它(比如 0.4 秒,取决于服务器)。

有没有什么办法,在“点击”内,等到 div.menu 出现在 body 上?

谢谢。

【问题讨论】:

  • 您可以使用setTimeout 来延迟您的脚本,但这会非常不可靠。其他脚本完成后是否没有为您提供任何事件?
  • 你是如何创建你的div.menu
  • 使用 AJAX 的简单规则:任何依赖于响应的事情都必须在回调函数中完成。所以将addClass 代码移到那里。
  • 不,我无权访问此脚本,这就是我问这个的原因。
  • 所以只需使用setInterval()

标签: jquery dynamic get click


【解决方案1】:

也许你可以用 jQuerys Deferreds 做点什么。 我真的不知道如何使用它,但也许你可以用它做点什么。

How can jQuery deferred be used?

【讨论】:

    【解决方案2】:
    $('.myKnownClass').click(function() {
    
                var interval = setInterval(function(){
                       if($(".menu").length){
                              $('.menu').addClass('testingClass');
                              clearInterval(interval);
                       }
                },200);
    
     });
    

    【讨论】:

    • 您为什么希望这种情况每 200 毫秒发生一次?我想你想要setTimeout,但正如我上面提到的那样,这也是一个有缺陷的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2013-09-29
    相关资源
    最近更新 更多