Javascript:Display:none表示ID A,如果ID B不存在

Javascript:Display:none表示ID A,如果ID B不存在,javascript,Javascript,我正在尝试编写一个javascript函数,该函数表示如果页面上没有id=“a”的元素,则不应显示id=“b”的元素 这是我想到的,但不起作用: function myFunction() { var x = document.getElementById("idb"); if(document.getElementById("ida")){ x.style.display = "block"; } else { x.style.display = "none"; } }

我正在尝试编写一个javascript函数,该函数表示如果页面上没有id=“a”的元素,则不应显示id=“b”的元素

这是我想到的,但不起作用:

function myFunction() {
  var x = document.getElementById("idb");
  if(document.getElementById("ida")){
  x.style.display = "block";
  } else {
  x.style.display = "none";
 }
}
任何帮助都将不胜感激

谢谢

没有:

document.getElementById("ida") == null

您可以使用
document.body.contains
和许多其他方法来实现这一点,因此一个简单的解决方案如下(您将其放入函数中):


查看它。

对于其中一个,如果您的id=“a”,则不需要包含“id”,因为您正在通过id指定get元素中已经存在的id。与id b相同,因此更像这样:

function myFunction() {
   var x = document.getElementById("b");
   if(document.getElementById("a")){
      x.style.display = "block";
   } else {
      x.style.display = "none";
   }
}

使用
querySelectorAll()
检查
length
属性:

函数myFunction(){
var x=document.getElementById(“idb”);
if(document.queryselectoral(#ida”).length>0){
x、 style.display=“block”;
}否则{
x、 style.display=“无”;
}
}
myFunction()
#idb{
显示:无;
}
idb

ida
这里有一个愚蠢的问题,但您能验证此函数是否正在运行吗?
document.getElementById(“ida”)
意味着
id=“ida”
,而不是
id=“a”
。请尝试使用您的浏览器。@Xufox是的,我知道。我只是把它作为例子而已
function myFunction() {
   var x = document.getElementById("b");
   if(document.getElementById("a")){
      x.style.display = "block";
   } else {
      x.style.display = "none";
   }
}