2013-10-22 17 views

Trả lời

15

Bạn đang thiếu một khung đóng cửa]. Ngoài ra, thanh là một chuỗi chữ trong trường hợp này, không phải là một biến. Đây hoạt động:

alert('one'); 
if($('div[data-foo="bar"]').hasClass('baz')){ 
    alert('two'); 
}else{ 
    alert('three'); 
} 

Hoặc bạn có thể xác định thanh như là một biến:

var bar = "bar"; 
alert('one'); 
if($('div[data-foo="' + bar + '"]').hasClass('baz')){ 
    alert('two'); 
}else{ 
    alert('three'); 
} 

(. Không chắc thế nào nó được bằng cách khác làm việc trong Firefox trước đó)

+1

Tôi gặp sự cố tương tự và đó là do dấu ngoặc đóng "]" bị thiếu. Mac Safari sẽ ném một lỗi trong khi các trình duyệt dựa trên Windows có thể xác định bộ chọn ngay cả với lỗi cú pháp. –

0

Tùy thuộc vào những gì bạn muốn thực sự nơi các báo cáo cảnh báo là, bạn có thể tạo lối tắt với:

$('div.baz').each(function(){ 
    alert($(this).data('foo')); 
}); 

Điều này sẽ tạo ra bia rt nêu rõ bar

Các vấn đề liên quan