0

解決できない単純な問題が発生した Web アプリケーションを作成しています。ここに問題を引き起こすコードを入れました: http://jsfiddle.net/rkumarnirmal/5w3FG/

この回答を表示する必要がある2番目のアラート()の問題は何ですか

current

問題は:

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

IDを表示していません。

でも、あげるときは

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

できます。セレクターに何か問題がありましたか?

ありがとう!

4

3 に答える 3

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

'追加の やを使用しないでください"

于 2012-05-06T13:06:07.410 に答える
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);
});

デモ

于 2012-05-06T13:07:37.727 に答える
0
var a = $('#current').attr("class");
var b = "." + a.split(/\s+/).pop();
alert(b);
var c = $(b).attr("id");

alert(c);
于 2012-05-06T13:09:10.457 に答える