以下显示FF中的警报一和二,但在Safari中只显示一个.这行中的任何内容都与Safari不兼容吗? if($(‘div [data-foo =“’bar’”’).hasClass(‘baz’)){
jQuery的
alert('one'); if($('div[data-foo="'+bar+'"').hasClass('baz')){ alert('two'); }else{ alert('three'); }
HTML
<div data-foo="bar" class="baz"></div>
解决方法
你错过了一个结束括号].此外,bar在这种情况下是字符串文字,而不是变量.这有效:
alert('one'); if($('div[data-foo="bar"]').hasClass('baz')){ alert('two'); }else{ alert('three'); }
或者您可以将bar定义为变量:
var bar = "bar"; alert('one'); if($('div[data-foo="' + bar + '"]').hasClass('baz')){ alert('two'); }else{ alert('three'); }
(不知道以前在Firefox中是如何工作的.)