querySelectorAll 在 Woocommerce 单个产品页面中找不到元素
querySelectorAll doesn't find element in Woocommerce single product page
尝试使用单个产品库导航。这是 Woocommerce 网站。
这里是HTML这个区域的代码:
对不起,我无法从页面源代码中复制它,因为没有这段代码。
我正在尝试使用此代码获取 ol.flex-control-nav
元素:
console.log('ok');
let addImagesLength = document.querySelectorAll('.woocommerce-product-gallery ol');
console.log(addImagesLength);
在控制台日志中使用“ok”来确定之前的代码是正确的。所以我在日志中得到的一切都是空节点列表。我假设 ol.flex-control-nav
元素在 .js
文件加载后出现。
我还想提及的一件事是,使用此代码段在 wwocommerce.php
页面中调用了产品库导航部分:
function web_add_woocommerce_support() {
add_theme_support( 'woocommerce' );
}
add_theme_support( 'wc-product-gallery-slider' );
add_action( 'after_setup_theme', 'web_add_woocommerce_support' );
所以我假设,这段代码会在 .js
文件完全加载后加载图库导航。试图在此 PHP 代码之后将单独的 .js
文件加入队列,但结果是一样的。如果是这样,那我该如何解决这个问题呢?
通过添加将所有函数放入 window.onload
解决了这个问题。
window.onload = function () {
console.log('ok');
let addImagesLength = document.querySelectorAll('.flex-control-nav');
console.log(addImagesLength);
}
尝试使用单个产品库导航。这是 Woocommerce 网站。
这里是HTML这个区域的代码:
对不起,我无法从页面源代码中复制它,因为没有这段代码。
我正在尝试使用此代码获取 ol.flex-control-nav
元素:
console.log('ok');
let addImagesLength = document.querySelectorAll('.woocommerce-product-gallery ol');
console.log(addImagesLength);
在控制台日志中使用“ok”来确定之前的代码是正确的。所以我在日志中得到的一切都是空节点列表。我假设 ol.flex-control-nav
元素在 .js
文件加载后出现。
我还想提及的一件事是,使用此代码段在 wwocommerce.php
页面中调用了产品库导航部分:
function web_add_woocommerce_support() {
add_theme_support( 'woocommerce' );
}
add_theme_support( 'wc-product-gallery-slider' );
add_action( 'after_setup_theme', 'web_add_woocommerce_support' );
所以我假设,这段代码会在 .js
文件完全加载后加载图库导航。试图在此 PHP 代码之后将单独的 .js
文件加入队列,但结果是一样的。如果是这样,那我该如何解决这个问题呢?
通过添加将所有函数放入 window.onload
解决了这个问题。
window.onload = function () {
console.log('ok');
let addImagesLength = document.querySelectorAll('.flex-control-nav');
console.log(addImagesLength);
}