2016-08-15 14 views
2

jQuery v1.11.2を使用したプロジェクトからv3.1.0を使用する新しいプロジェクトにコードをコピーしていますが、次のコード行は機能しません。私は、コンソールに認識できない式のエラーを取得:JQuery認識できない式にセレクタが含まれています

$('#createEditTabs a[data-target=#tabEditConfig]').tab('show'); 

この行は、古いプロジェクトでうまくいきましたが、新しい更新1で動作するように失敗しました。なぜセレクタが含まれているか、またはv3.1.0にいくつかの違いがあるかどうか正確には分かりません。

+0

あなたは属性値 '[data-target ="#tabEditConfig "]' – billyonecan

答えて

4

最初に#の問題を回避するために、属性値を引用符で囲みます。

$('#createEditTabs a[data-target="#tabEditConfig"]').tab('show'); 
//        -^--   --^- 

属性値がvalid identifierまたは引用符で囲まれた文字列でなければなりません。あなたのコードでは、valid identifier#を含む)ではないので、引用符付きの文字列を使用してください。

+0

パーフェクトを引用する必要があります。ありがとう。それは、それ以降のバージョンのためにjQueryに追加された追加の検証でなければなりません。スタックオーバーフローが5分後に受け入れられるようになると答えが受け入れられます。 – NiallMitch14

+0

@ NiallMitch14:喜んで助けてください:) –

+1

@ NiallMitch14最近、属性セレクタで何か変わったとは思いません。これは、使用しているブラウザのQuerySelector/QuerySelectorAll実装に対する修正の可能性が高くなります。 –

関連する問題