gpt4 book ai didi

javascript - Jquery ID 选择器不适用于变量

转载 作者:行者123 更新时间:2023-11-30 10:31:48 26 4
gpt4 key购买 nike

我已经阅读了十亿个这样的问题,但还没有找到答案。

无论如何,当我打字的时候

var variableContainingID = "header";
var div = $("#"+variableContainingID);

它返回'undefined'

但是当我输入

var variableContainingID = "header";
var div = $('[id^="'+variableContainingID+'"]');

它工作正常。有什么想法吗?

更新

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]+'"]');
}

你认为双引号会被抛弃吗?

最佳答案

正如您在问题中所写:

var div = $("#"+variableContainingID);
var div = $('[id^="'+variableContainingID+'"]');

这两行并不相同。第一个,将选择一个 idheader 的元素。第二个,选择具有指定 id 且值恰好以给定字符串(header)开头的元素。

所以如果你有这样一个元素:

<div id="headerHere"></div>

第一个($("#"+variableContainingID))选不上,第二个($('[id^="'+variableContainingID+'"]')) 可以选择该元素。这是因为您在选择器中使用了 ^=。请参阅 jQuery API:Attribute Starts With Selector (name^="value") .

在 jQuery 中查看所有 attribute 选择器是值得的。

关于javascript - Jquery ID 选择器不适用于变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16495131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com