スマホで一部jQueryの動作が聞かなくなるという現象が起きた。
例えば以下のようなコード。
属性セレクタを利用してアコーディオンを実装した。
$('[data-acc-cont').hide();
$('[data-acc-click').click(function(e){
e.preventDefault();
var key = $(this).attr('data-acc-click');
var $target = $('[data-acc-cont="'+key+'"]');
if($target.length) {
$(this).toggleClass('is-open');
if($(this).hasClass('is-open')) {
// open
$target.slideDown();
}else{
// close
$target.slideUp();
}
}
return false;
});
chrome、firefoxだと動く。
しかしiPhoneだと動かない。
safariのコンソールでやっとエラーが吐かれてた。
Error: Syntax error, unrecognized expression: [data-acc-cont
ただの属性セレクタの閉じ忘れやん…、基礎すぎて呆れるわ…。
勝手に解釈するのやめて…。