我已閱讀了十億個這樣的問題,但從未找到答案。Jquery ID選擇器不能與變量一起工作
無論如何,當我輸入
var variableContainingID = "header";
var div = $("#"+variableContainingID);
返回 '未定義'
但是當我鍵入
var variableContainingID = "header";
var div = $('[id^="'+variableContainingID+'"]');
它工作正常。 任何想法爲什麼?
UPDATE
var json = '{"divs":['
var children = $(".parent_container > div");
var idArray = [];
var numArray = [];
for (var x=0; x<children.length; x++) {
var eleid = $(children[x]).attr("id");
idArray.push('"'+eleid+'"');
numArray.push(x+1);
}
var idString = idArray.join(",");
var numString = numArray.join(",");
json += idString;
json += '],"number":['+numString+']}';
var obj = JSON.parse(json);
for (x in obj["divs"]) {
var div = $('[id^="'+obj["divs"][x]+'"]');
}
你認爲雙引號,可以把它扔了嗎?
你真的有一個'ID = 「頭」'元素? – 2013-05-11 08:10:27
您是否在Chrome開發人員控制檯中輸入了此信息?當定義一個變量時它返回'undefined'。 – 2013-05-11 08:10:52
它確實工作... http://jsfiddle.net/qsjrP/我們可能需要看到更多的代碼,因爲我不認爲這個聲明是問題... – 2013-05-11 08:11:03