gpt4 book ai didi

javascript - InsertBefore() 无法与variable.insertBefore() 一起正常工作

转载 作者:行者123 更新时间:2023-12-01 00:40:35 24 4
gpt4 key购买 nike

我是 js 新手,我在处理这段代码时遇到了问题,我已经尝试修复它超过 5 个小时但没有成功,有人能找到我缺少的内容吗?

这是我的代码:

function MaterialCreator(materialid, materialNo, thumb , sofaimgboxxx, materialqty){

parentidmaterial = "";
for(i = 1; i < materialqty; i++){

var newDiv = document.createElement("div");
newDiv.innerHTML = "No. "+ i;
newDiv.id = thumb;
newDiv.className = "MaterialSidemenuHorizontal";
newDiv.style = "background-image: url(/sofaplanner/img/colors/0"+ materialNo +"/0"+ thumb +".png)";
newDiv.setAttribute("onclick", "javascript:colorFilter(this.id, " + sofaimgboxxx + ")");
thumb = thumb + 1;

var currentDiv = document.getElementById(materialid);
parentidmaterial = document.getElementById(materialid).parentNode.id;

if(parentidmaterial = "choosematerialInnervs"){choosematerialInnervs.insertBefore(newDiv, currentDiv);}
else if(parentidmaterial = "choosematerialInnernp"){choosematerialInnernp.insertBefore(newDiv, currentDiv); }
else if(parentidmaterial = "choosematerialInnerrg"){choosematerialInnerrg.insertBefore(newDiv, currentDiv); }
else if(parentidmaterial = "choosematerialInnertr"){choosematerialInnertr.insertBefore(newDiv, currentDiv); }
else if(parentidmaterial = "choosematerialInnerrz"){choosematerialInnerrz.insertBefore(newDiv, currentDiv); }

}}
<!-- TR - MATERIAL 04 -->
<div id='choosematerialInnertr' class="choosematerialInner">
<div class="sidemenuTitle">左アーム 生地 TR</div>
<div id="materialauto4"></div>
<script>
document.addEventListener('DOMContentLoaded', (event) => {
MaterialCreator("materialauto4", 4, 401, "sofa-img-box1img", 23);})
</script>
</div>

<!-- RZ - MATERIAL 05 -->
<div id='choosematerialInnerrz' class="choosematerialInner">
<div class="sidemenuTitle">左アーム 生地 RZ</div>
<div id="materialauto5">
<script>
document.addEventListener('DOMContentLoaded', (event) => {
MaterialCreator("materialauto5", 5, 501, "sofa-img-box1img", 7);})
</script>
</div>

我想直接在 insertBefore 中使用变量“parentidmaterial”(它包含父 id 的结果),但由于某种原因,它不适用于该变量,只有当我实际键入变量结果时,所以我尝试了带有 if,但现在它仅适用于第一个 Material ,所有其他 Material 都会出现 Node was not found 错误

parentidmaterial.insertBefore(newDiv, currentDiv)

最佳答案

看来你的条件有问题,

如果你使用if语句,它应该是“==”而不是“=”(赋值)

if(parentidmaterial == "choosematerialInnervs"){choosematerialInnervs.insertBefore(newDiv, currentDiv);}
else if(parentidmaterial == "choosematerialInnernp"){choosematerialInnernp.insertBefore(newDiv, currentDiv); }
else if(parentidmaterial == "choosematerialInnerrg"){choosematerialInnerrg.insertBefore(newDiv, currentDiv); }
else if(parentidmaterial == "choosematerialInnertr"){choosematerialInnertr.insertBefore(newDiv, currentDiv); }
else if(parentidmaterial == "choosematerialInnerrz"){choosematerialInnerrz.insertBefore(newDiv, currentDiv); }

关于javascript - InsertBefore() 无法与variable.insertBefore() 一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57748301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com