2012-05-06 17 views
0

私は私が解決できない、単純な問題を抱えてWebアプリケーションを、作成しています。問題があるjavascriptの構文エラー:キャッチされていない表現

この回答を表示する必要があります)
current 

http://jsfiddle.net/rkumarnirmal/5w3FG/

二警告(との問題は何ですか:

var b = '.something'; 
var c = $(b).attr("id"); 
alert(c); 

ではありません、私はここで問題を作成するコードを入れていますidを示す。私はそれが動作

var c = $('.something').attr("id"); 
alert(c); 

を与える

しかし、。私はセレクターに間違ったことをしましたか?

ありがとうございます!

答えて

3

あなたのフィドルは実際には異なります。

var b = "." + a.split(/\s+/).pop(); 

は、.の後にクラス名が付いているため動作します。 'がセレクタの一部であることを意味する文字列に"'が含まれています(これは構文エラーです)。

$("abc")のような文字列をabcがセレクタとして渡すことができます。あなたはこのような変数を使用する場合:

var selector = "abc"; // the selector abc stored in a variable as a string 
$(selector);   // the selector is passed to jQuery 

を、あなたは'秒または"の追加を使用しないでください。

1
$(function(){ 
var a = $('#current').attr("class"); 
var b = "."+a.split(/\s+/).pop(); // not "'."+a.split(/\s+/).pop()+"'"; 
    alert(b); 
var c = $(b).attr("id"); 
    alert(c); 
}); 

DEMO

0
var a = $('#current').attr("class"); 
var b = "." + a.split(/\s+/).pop(); 
alert(b); 
var c = $(b).attr("id"); 

alert(c); 
関連する問題