jquery - 追加时(基本上是在某些东西出现之后。)
问题描述
我正在尝试在第三方脚本添加一些 html 后运行脚本,对于我来说,在添加某些内容后我找不到运行脚本的方法。
我一直在尝试使用延迟,但它不起作用。
$('#Form1').append('<div id="modal"></div>');
$('.AddToCartConfirmation > div > div').delay(1000).children('div, span').not(':first-child').wrapAll('<div class="orderInfo"></div>');
$('.AddToCartConfirmation > div > div').delay(1000).addClass('cartContents');
$('.ui-dialog-titlebar-close').delay(1000).append('<i class="fas fa-times"></i>');
$("#modal").click(function(){
$('.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-draggable').css({'opcaity':'none','visibility':'hidden'});
$('a[href="/Cart.html"] img').css('display','none');
$(this).css({'opcaity':'none','visibility':'hidden'});
});
解决方案
为什么它不起作用?
如果问题与外部脚本之间的时间有关,请执行此操作,您可以使用它setInterval()
来定期检查外部脚本添加的 html 是否退出并执行您想要的操作。
var timer = setInterval(function() {
var element = $('#element_id_added_by_external_script');
if (element) {
// code to add class, etc...
clearInterval(timer);
}
}, 500);
推荐阅读
- php - 仅更改数据库给出 sess_write_close() 错误
- javascript - 在子集合中查询?
- node.js - 在同一台机器上运行具有不同配置文件的同一应用程序的两个实例是否可能?
- javascript - Kendo Grid serverFiltering filter jquery在C#中获取过滤器对象null
- laravel-5 - paypal付款协议的返回日期
- python - 自 Python 3.2 以来,Python 的 GIL 的护航效应是否已得到解决?
- security - 有没有一种方法可以通过谷歌身份验证服务保护端口免受谷歌云网站/实例的影响?
- excel - 计算另一个单元格中文本段落中单词出现的实例
- oauth - oauth 2.0 中的状态和证明密钥有什么区别?
- java - 如何使用 sharedpreferences 保存计时器时间并在另一个活动中检索它