如果document.activeElement =“”则返回true的简单条件

时间:2011-08-25 05:21:43

标签: javascript

我需要知道所选元素是否具有ID。

我做错了什么?

  var selected = document.activeElement;
  if (selected.id = "") {
  document.getElementById('test3').innerHTML= "is blank";    
  }

由于

2 个答案:

答案 0 :(得分:3)

您正在设置ID而不是比较它。将=更改为==

var selected = document.activeElement;
if (selected.id == "") {
  document.getElementById('test3').innerHTML= "is blank";    
}

答案 1 :(得分:3)

显然,你不能用=测试相等性。它需要==(带有类型转换的标识)或===(没有任何类型转换的标识)。

无论如何,以这种方式进行比较会更安全一些:

var selected = document.activeElement;
if (selected && selected.id) {
  document.getElementById('test3').innerHTML= "is blank";    
}

if (selected.id)如果selected.id == nullselected.id == undefinedselected.id == ""覆盖的情况多于if (selected.id == ""),则为真。