jQuery 效果选择器现在和将来没有事件

标签 jquery

这是我想要做的示例用法:

  $('img.switchToPng').each(function(){
       currentSRC = $(this).attr('src');
       $(this).attr('src', currentSRC.substr(0, currentSRC.length -3) + 'png');
  });

后来使用ajax新建了一个<img src="path/image.jpg" alt="blah" class="switchToPng" />出现在 dom 中,我希望不需要重新运行选择器和每个函数。与.on jQuery 中的选择器可以在未来使用,但是我找不到在没有事件的情况下使用它的方法。我可以使用'load'事件,但这并不可靠,因为浏览器缓存可能会阻止该事件的触发。

如果这是可能的,我可以看到很多用途。有人知道这个问题的好答案吗?

最佳答案

您有三个选择:

  1. 轮询新元素的创建。 [Example]
  2. 修改插入新元素的 (jQuery) 方法:

    var originalAppend = jQuery.fn.append;
    jQuery.fn.append = function() {
        // Function logic...
        return originalAppend.apply(this, Array.prototype.slice.call(arguments));
    };
    
  3. 使用已弃用的 DOM mutation方法。

关于jQuery 效果选择器现在和将来没有事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9456153/

相关文章:

javascript - jquery-ui 自动完成似乎没有触发?

jquery - 动态添加验证规则

javascript - 使用jquery影响具有相同id的div

javascript - PHP 消息未写入日志文件 - tutsplus.com 教程

javascript - 如何在 Thunderbird 扩展的其他模块中使用原始 jQuery 库

javascript - 预输入搜索中出现重复记录

jquery - 使用 jQuery 重置颜色后如何恢复我的悬停?

javascript - 谷歌地图标记在相同位置重叠且用户不可见

jquery - 折叠div的响应式设计方法

javascript - 为什么路由存在会被视为没有路由匹配(RoutingError)?