Javascript 基于iFrame选择器的if函数有什么问题?

Javascript 基于iFrame选择器的if函数有什么问题?,javascript,Javascript,我试图通过创建带有src URL的if语句来隐藏一个iframe w/cs iframe类,如果它位于某个URL上 现在,选择部分不使用if语句 var theiFrame = document.getElementByClass("cs-iframe"); function hideiFrame() { if (theiFrame.src = "http://www.test.com") { alert("successful selection");

我试图通过创建带有src URL的if语句来隐藏一个iframe w/cs iframe类,如果它位于某个URL上

现在,选择部分不使用if语句

var theiFrame = document.getElementByClass("cs-iframe");

function hideiFrame() {
      if (theiFrame.src = "http://www.test.com") {
        alert("successful selection");
      };
};  
感谢您

函数名为document.getElementByClassName。它不返回单个元素,而是返回一个元素数组

然后,在if条件下,执行theiFrame.src=http://www.test.com. 只有一个等号,这是一个赋值表达式,就像代码的第一行一样。要检查两个值是否相等,应使用==或===查看为什么有两个运算符,请参阅

最后,通过使用属性选择器,您可以完全在CSS中执行此操作:

iframe[src="http://www.test.com"] {
    display: none;
}

或者,如果要使用类cs iframe获取第一个元素,您可以使用查询选择器。您在JS控制台中查找错误消息了吗?CSS在这种情况下不起作用,因为iframe在加载时会向源的末尾添加额外的值,因此HTML页面中的iframe src最初在DOM中是不同的。src=我会使用*但是我不想隐藏这个iFrame的每一帧。对不起,这件事没有澄清,不用担心。如果src属性总是以test.com开头,那么仍然可以执行:iframe[src^=http://www.test.com],它将选择src以该值开头的所有iFrame。