我正在创建一个Web应用程序,在那里我遇到了一个我无法解决的简单问题。我在这里提出了产生问题的代码:http://jsfiddle.net/rkumarnirmal/5w3FG/
应该显示此答案的第二个警告()有什么问题
current
问题是:
var b = '.something';
var c = $(b).attr("id");
alert(c);
未显示ID。
但是,当我给出
var c = $('.something').attr("id");
alert(c);
有效。我对选择器做错了吗?
谢谢!
答案 0 :(得分: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
然后您不应使用其他'
或"
s。
答案 1 :(得分: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 强>
答案 2 :(得分:0)
var a = $('#current').attr("class");
var b = "." + a.split(/\s+/).pop();
alert(b);
var c = $(b).attr("id");
alert(c);