You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击事件触发时目标元素未创建的问题排查求助

问题分析与修复

你的代码里有两处关键语法错误,直接导致新元素无法被创建并挂载到页面:

  1. appendChild 方法调用语法错误
    原代码中错误地使用了属性访问的写法:

    displayedItemWrapper.appendChild.displayedItemContainer;
    

    正确写法是将元素作为参数传入appendChild方法:

    displayedItemWrapper.appendChild(displayedItemContainer);
    
  2. 错误地将容器挂载到自身
    原代码最后一行不仅语法错误,还试图把容器元素挂载到自己身上:

    displayedItemImgContainer.appendChild.displayedItemImgContainer;
    

    正确逻辑是挂载之前创建好的图片元素:

    displayedItemImgContainer.appendChild(displayedItemImg);
    

另外还有两个可选优化点(不影响功能但提升代码健壮性):

  • 修正变量名拼写错误:比如hiddednItemWeapon应改为hiddenItemWeapon
  • 避免使用childNodes获取元素:childNodes会包含换行、空格这类文本节点,容易导致元素获取失败,建议改用querySelector或children,例如把hiddenItem.childNodes[2].childNodes[0].innerHTML替换为hiddenItem.querySelector('.weapon-text').innerHTML(需根据实际DOM结构调整选择器)

修复后的核心代码片段:

if(hideItem.includes('grid-item')){
    hiddenItem.style.display = 'none';

    let hiddenItemWeapon = hiddenItem.childNodes[2].childNodes[0].innerHTML;
    let hiddenItemCondition = hiddenItem.childNodes[0].childNodes[0].innerHTML;
    let hiddenItemImg = hiddenItem.childNodes[1].childNodes[0].src;
    let hiddenItemWeaponName = hiddenItem.childNodes[2].childNodes[1].innerHTML;
    let hiddenItemWeaponPrice = hiddenItem.childNodes[2].childNodes[2].innerHTML;

    let displayedItemContainer = document.createElement('div');
    displayedItemContainer.className = 'selected-item-container';

    let displayedItemImgContainer = document.createElement('div');
    displayedItemImgContainer.className = 'selected-item-img-container';

    let displayedItemImg = document.createElement('img');
    displayedItemImg.src = hiddenItemImg;

    // 修正后的挂载逻辑
    displayedItemWrapper.appendChild(displayedItemContainer);
    displayedItemContainer.appendChild(displayedItemImgContainer);
    displayedItemImgContainer.appendChild(displayedItemImg);
}

内容的提问来源于stack exchange,提问作者LostInTheCSSauce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 10:57:41