我有一個代碼,如果產品的價格改變了她的代碼,我試圖制作一個變數:
<h3 class="single-price"><span class="after currency-value"><span class="value">5000</span></h3>
var price_aft = document.querySelector("#app > main > div > div > div.container > div > div.product-details > div.product-section.price-section > h3 > span.after.currency-value > span.value").textContent
當價格變化時變數值不會改變?有人能幫助我嗎!謝謝你。
uj5u.com熱心網友回復:
HTML 格式不正確。所以,我不確定你的意思是:
A:
<h3 class="single-price">
<span class="after currency-value">
<span class="value">5000</span>
</span>
</h3>
或 B:
<h3 class="single-price">
<span class="after currency-value"></span>
<span class="value">5000</span>
</h3>
所以,我選擇了選項 A:
let selector = ".single-price .after .value";
let priceAft = document.querySelector(selector);
console.log(priceAft.innerHTML);
<h3 class="single-price">
<span class="after currency-value">
<span class="value">5000</span>
</span>
</h3>
uj5u.com熱心網友回復:
哇,那是一個巨大的選擇器鏈,
首先,確保您的選擇器是正確的,您可以從 js 代碼末尾洗掉 .textContent 并查看 querySelector 是否可以找到您的元素(使用 console.log 查看變數中存盤的內容)
然后如果變數有未定義的值,如果元素被正確選擇,你的選擇器是錯誤的,試試 innerText 而不是 textContent 并讓我知道結果
uj5u.com熱心網友回復:
// select span
var target = document.getElementById('value');
var currValue = '';
// create observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log("event trigger " mutation.target.id);
});
});
// pass what to listen
var config = {
attributes: true,
childList: true,
characterData: true
};
// pass span node and config
observer.observe(target, config);
// simulate the Change of the text value of span
function onValueChange() {
currValue = target.textContent;
console.log(currValue);
}
setTimeout(onValueChange, 2000);
<h3 class="single-price"><span class="after currency-value"><span id="value" class="value">5000</span></h3>
uj5u.com熱心網友回復:
確保您的變數都不是缺點。然后您需要將 HTML 匯入 JavaScript。如果這不起作用,您更有可能通過在 google 上查找代碼來使其正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/461594.html
標籤:javascript html
