You do not have a closing bracket]. In addition, bar is a string literal in this case, not a variable. It works:
alert('one'); if($('div[data-foo="bar"]').hasClass('baz')){ alert('two'); }else{ alert('three'); }
Or you can define bar as a variable:
var bar = "bar"; alert('one'); if($('div[data-foo="' + bar + '"]').hasClass('baz')){ alert('two'); }else{ alert('three'); }
(I don't know how this works in Firefox before.)
source share