最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Simple condition that returns true if document.activeElement = "" - Stack Overflow

programmeradmin3浏览0评论

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";    
}
发布评论

评论列表(0)

  1. 暂无评论