首页 > 解决方案 > 本机 Javascript - 如果语句不起作用,则具有 else 属性

问题描述

我已经设置了我的变量并将其命名为:

const x = document.querySelector(".ui-datepicker-trigger");
const y = document.querySelector("#ctl00_c_TransPwdFunc_img100");

一旦我设置了变量,我就创建了 if 语句,代码如下:

if (x.hasAttribute("src", "/mvptest_int/App_themes/btnCalendar.png") == x){
            x.setAttribute("src","/mvptest_int/App_themes/btnCalendarWhite.png");
            console.log(x);
        } else if (y.hasAttribute("src", "../App_Themes/btnGetSMS.png" == y)){
            y.setAttribute("src","../App_Themes/btnGetSMSWhite.png");
        }

我已经在控制台日志中单独测试了这一点,它们都在工作。但我面临的问题是:

x 属性仅在开始时显示,一旦用户单击下一步,它将消失,这就是我面临的问题:

错误信息 代码错误信息

所以我可以看到我的 x 更改工作正常,但由于此错误消息,我的 java 脚本都没有工作。

有人可以帮我解决这个问题,如果有更好的解决方案,请告诉我。

谢谢

FE看: 第一页 第二页

标签: javascriptwebfrontendvanilla-forums

解决方案


如果您检查文档,您可以看到element.hasAttribute返回trueorfalse和只需要一个属性,而不是像您所做的那样。这就是为什么你有错误。

并且假设您使用x.hasAttribute("src") == x,它永远不会返回 true。

最后一点,确保您的x元素存在。


推荐阅读