jQuery Selector的数据属性在Safari中不起作用

前端之家收集整理的这篇文章主要介绍了jQuery Selector的数据属性在Safari中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下显示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中是如何工作的.)

猜你在找的jQuery相关文章