Javascript Jquery/JS-为中的每个Div动态创建对象
两年后的评论 这是我的一个老帖子。基本上,我希望通过带有字符串参数的函数创建具有动态名称的变量,并且这些变量全局存储在函数范围之外,以后可以由任何其他函数访问 但因为我不知道“全球”这个词,所以我很难解释 享受吧 背景:所以我想为我自己的界面网页建立一个JS库。结果是,如果我在我的环境中添加。该网页将生成一个工作窗口。我已经做到了 但是必须声明一些JS对象才能工作Javascript Jquery/JS-为中的每个Div动态创建对象,javascript,jquery,html,javascript-objects,Javascript,Jquery,Html,Javascript Objects,两年后的评论 这是我的一个老帖子。基本上,我希望通过带有字符串参数的函数创建具有动态名称的变量,并且这些变量全局存储在函数范围之外,以后可以由任何其他函数访问 但因为我不知道“全球”这个词,所以我很难解释 享受吧 背景:所以我想为我自己的界面网页建立一个JS库。结果是,如果我在我的环境中添加。该网页将生成一个工作窗口。我已经做到了 但是必须声明一些JS对象才能工作 window["window" + winname].bmaxheight = $(cwindow).height(); ,因此如
window["window" + winname].bmaxheight = $(cwindow).height();
,因此如果我添加一个新的window.window.s
那么,如何在循环中为divwindow的每个新手动输入动态生成新的JS对象呢
意思是,如果我只是手工输入
<div class="window SOMENAME"></div>
概念:
function loop() {
1.check all divs within $("#Environment") and make an array of names for new objects(above are "s" and "SOMENAME")(no problem)
2.generate new objects in a loop ("window" + "NAME" and declare bmaxwidth, bmaxheight...)
}
如果需要更多信息,请发表评论。如果要向HTML添加新的CSS类,可以使用以下jQuery var cssClass=$'body{background:blue;}' $'html>head'.appendcssClass; 这将创建cssClass并将其附加到head标记 动态创建元素的方式与$相同
你应该考虑在jQuery中创建一个插件来完成这个任务。它将简化整个过程。
我可以使用其他语法访问变量。因为全局变量存储在窗口下 它也可以与内部的变量一起工作var k = "SOMENAME"
window[k] = new Object();
从2年后开始编辑
一种更好的方法是最初全局地创建一些空对象,然后用相应的动态变量填充它们。这样,数据组织得更好,而不是将所有内容都转储到窗口下
例如:
var fruitBasket = {};
function addFruit(name, fruitProperties) {
/*Maybe some logics to determine whether the fruit already
exists in the basket to make this function more useful
than simply fruitBasket.SOMENAME = {SOMEOBJECT}*/
fruitBasket[name] = fruitProperties;
}
function getFruit(name) {
return fruitBasket[name];
}
addFruit("apple", {
color: "red",
growsOnTree: true
});
getFruit("apple");
或者您甚至可能希望像这样更好地组织它:
var fruitBasket = {
storedFruits: {},
addFruit: function(...) {...},
getFruit: function(...) {...}
};
Stackoverflow不是代码生成器为什么不使用div的索引来分隔对象?@jantimon如果我打字不好,我可能不知道如何解释自己。但我不是要一个完整的代码,我只是想要一行代码,可以解决我的问题我很抱歉!我的问题误导了你:“我想创建JS对象,不是CSS类,但谢谢你的帮助!!!抱歉,没有。我想知道如何动态生成这一行windowSOMENAME=new Object;对于我包含的div中的每个windowclass=windowsomename,我今天遇到了我的老问题。基本上,我想做的是创建一个全局变量,可以通过它们的字符串名访问它。但我不知道全球的概念,我没有使用这个词,这造成了混乱。
window["SOMENAME"] = new Object();
var k = "SOMENAME"
window[k] = new Object();
var fruitBasket = {};
function addFruit(name, fruitProperties) {
/*Maybe some logics to determine whether the fruit already
exists in the basket to make this function more useful
than simply fruitBasket.SOMENAME = {SOMEOBJECT}*/
fruitBasket[name] = fruitProperties;
}
function getFruit(name) {
return fruitBasket[name];
}
addFruit("apple", {
color: "red",
growsOnTree: true
});
getFruit("apple");
var fruitBasket = {
storedFruits: {},
addFruit: function(...) {...},
getFruit: function(...) {...}
};