第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查html標(biāo)簽是否包含文本節(jié)點(diǎn)

檢查html標(biāo)簽是否包含文本節(jié)點(diǎn)

浮云間 2023-12-14 14:21:02
我在 Shopify 中有一個彈出模式,出于安全考慮,我使用文本節(jié)點(diǎn)而不是innerHtml。但是,每次我打開彈出模式時,文本節(jié)點(diǎn)都會不斷附加到我的 h1 標(biāo)記中。有沒有辦法檢查節(jié)點(diǎn)是否已經(jīng)被附加?(我不想使用布爾值來檢查是否已附加文本節(jié)點(diǎn))html:<h1 id="ProductHeading" class="product__title product__title--template"></h1><h2 id="ProductHeadingModal" class="product__title product__title--template product__title--modal"></h2>javascript:var title = document.createTextNode(product.title);// Product heading is an element with h1 tagvar productHeading = document.getElementById("ProductHeading"); if(// how to check if element has no node?) {  productHeading.appendChild(title);}整個 JavaScript 塊:window.onload = () => {  if (window.__shgProductInits.length) {    window.__shgProductInits.forEach((ele) => {      let proId = document.getElementById(ele.uuid);      proId.setAttribute('url', ele.productHandle);      proId.style.cursor='pointer';      proId.addEventListener('click', (e) => {        let productHandle = e.target.parentElement.parentElement.parentElement.getAttribute('url');        fetch('/products/'+productHandle+'.js')          .then((res) =>{return res.json()})          .then((product) => {             console.log(product)            var product = product;            document.getElementsByClassName("product-modal")[0].style.display = "block";                        var title = document.createTextNode(product.title);            var productHeading = document.getElementById("ProductHeading");            var productHeadingModal = document.getElementById("ProductHeadingModal");                        if(!(productHeading.hasChildNodes())) {                productHeading.appendChild(title);                productHeadingModal.appendChild(title);                                var price = document.createTextNode("$" + parseInt(product.price).toFixed(2));                document.getElementById("product-price").appendChild(price);            }          });      });    });  }ProductHeading 本身不是一個節(jié)點(diǎn)(我認(rèn)為)。檢查innerHtml的長度不起作用,因?yàn)樗偸?
查看完整描述

2 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個贊

有幾種方法:


if (element.firstChild) {

? ? // It has at least one

}

或hasChildNodes()函數(shù):


if (element.hasChildNodes()) {

? ? // It has at least one

}

或childNodes 的length 屬性:


if (element.childNodes.length > 0) { // Or just `if (element.childNodes.length)`

? ? // It has at least one

}

所以你可以這樣寫


var title = document.createTextNode(product.title);

// Product heading is an element with h1 tag

var productHeading = document.getElementById("ProductHeading");?


if(!(productHeading.hasChildNodes())) {

? productHeading.appendChild(title);

}



查看完整回答
反對 回復(fù) 2023-12-14
?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個贊

if (productHeading.hasChildNodes()) {

}


查看完整回答
反對 回復(fù) 2023-12-14
  • 2 回答
  • 0 關(guān)注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號