【问题标题】:On load instead of document ready with other javascript on page?加载而不是页面上的其他javascript准备好文档?
【发布时间】:2021-12-29 14:21:26
【问题描述】:

我目前正在编写一段代码,用于查找某个类并在该类中添加 QTY 文本。我必须这样做,因为我无法访问网站这部分的基本 HTML 代码,但可以通过 JS 访问来访问。

我目前运行的代码如下:

$('.cart-product-qty').each(function() {
  $(this).prepend("QTY: ");
});

但我刚刚遇到的问题是,在购物车中执行某些功能时它不会刷新,因此最终会删除 QTY 文本。是否有另一种方法可以在页面“刷新”时持续保持它?

【问题讨论】:

  • 这真的不是做事的方式。您应该通过请求授权人员的访问来对您的基本 HTML 执行此操作。无论如何,如果这些函数正在重置您的数量文本,那么您应该在执行这些函数后再次通过相同的方法再次添加数量。通过在加载时编写代码,我不确定这是否会解决您的问题,因为在您的代码执行后,其他一些函数可能会在未来加载时运行。如果您正在寻找加载文档api.jquery.com/load.

标签: javascript jquery


【解决方案1】:

听父div 下面的产品将被列出。所以只要内容发生变化,就可以触发你的函数。

DOMSubtreeModified 事件可能会有所帮助。

var element = document.getElementById('div');

element.addEventListener('DOMSubtreeModified', updateQtyText);

function updateQtyText(e) {
    $('.cart-product-qty').each(function() {
     $(this).prepend("QTY: ");
   });
}

参考:fire a call when inner HTML changes.

这可能会有所帮助

【讨论】:

  • 欢迎来到 SO。通常,您应该投票以重复关闭问题,而不是链接到另一个问题。此外,不鼓励仅链接答案,因为链接可能会更改。相反,请在此处发布答案的内容并留下链接以供参考。
  • 是的,当然?,会调查的..
猜你喜欢
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
  • 2015-05-17
相关资源
最近更新 更多