Javascript 事件委派不能正确使用if-else语句

Javascript 事件委派不能正确使用if-else语句,javascript,Javascript,我已经为一个HTML容器分配了一个事件侦听器,当用户单击“再次播放”按钮时,“if”语句中的代码应该执行。单击“再次播放”按钮时,没有发生任何事情,控制台上也没有任何记录。我尝试了各种不同的方法,比如测试元素是否有特定的类名等等 以下是相关的HTML代码: <div class="play-again-btn"> <input type="button" class="play-btn" value="PLAY AGAIN"> </div> 以下是播放方法

我已经为一个HTML容器分配了一个事件侦听器,当用户单击“再次播放”按钮时,“if”语句中的代码应该执行。单击“再次播放”按钮时,没有发生任何事情,控制台上也没有任何记录。我尝试了各种不同的方法,比如测试元素是否有特定的类名等等

以下是相关的HTML代码:

<div class="play-again-btn">
 <input type="button" class="play-btn" value="PLAY AGAIN">
</div>
以下是播放方法:

playAgain: (event) => {
            let finishedPlayer, parentEl;

            console.log(event.target);

            //1. only action below code if correct button is clicked (correct target element is clicked) 
            if (event.target.nodeName == "input") {

                //2. delete existing character from finish line
                finishedPlayer = document.querySelector(DOMstrings.finishBox);
                finishedPlayer.removeChild(finishedPlayer.childNodes[0]);

                //3. bring character select pop up

                document.querySelector(DOMstrings.usersInput).style.visibility = "unset";


                //4. remove leaderboard pop up 

                parentEl = document.querySelector(DOMstrings.endContainer);
                parentEl.removeChild(parentEl.childNodes[1]);
            }

          },
属性存储节点的类型(
Text
Element
Comment
等),而不是节点表示的HTML元素的标记名

因此,
Node#nodeName
永远不会等于
“input”
,您的代码也不会运行

要检查标记名,请改用:

此外,与其如此,还不如检查单击的元素是否是您的按钮,因此,如果您可以选择该按钮,则最好对其进行相等性检查:

if (event.target === document.querySelector(selectorOfButton)) {

对不起,我没有回应,我已经离开了。谢谢你的回复。不幸的是,这两个建议都不起作用,它仍然一事无成。这不是世界末日,因为我已经做了一些改变,所以这不再是必要的!再次感谢
if (event.target.tagName == "input") {
if (event.target === document.querySelector(selectorOfButton)) {