admin管理员组

文章数量:1391987

I need to know if the selected element has an ID.

What am I doing wrong?

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

Thanks

I need to know if the selected element has an ID.

What am I doing wrong?

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

Thanks

Share Improve this question asked Aug 25, 2011 at 5:21 lisovaccarolisovaccaro 34.1k99 gold badges271 silver badges423 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

Obviously, you can't test equality with =. It requires == (identity with type conversion) or === (identity without any type conversion).

In any case, it's a bit safer to do the parison this way:

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

if (selected.id) will be true if either selected.id == null or selected.id == undefined or selected.id == "" which will cover more cases than just if (selected.id == "").

You are setting the id instead of paring it. Change = to ==.

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

本文标签: javascriptSimple condition that returns true if documentactiveElementquotquotStack Overflow