Javascript Jquery/JS-为中的每个Div动态创建对象

Javascript Jquery/JS-为中的每个Div动态创建对象,javascript,jquery,html,javascript-objects,Javascript,Jquery,Html,Javascript Objects,两年后的评论 这是我的一个老帖子。基本上,我希望通过带有字符串参数的函数创建具有动态名称的变量,并且这些变量全局存储在函数范围之外,以后可以由任何其他函数访问 但因为我不知道“全球”这个词,所以我很难解释 享受吧 背景:所以我想为我自己的界面网页建立一个JS库。结果是,如果我在我的环境中添加。该网页将生成一个工作窗口。我已经做到了 但是必须声明一些JS对象才能工作 window["window" + winname].bmaxheight = $(cwindow).height(); ,因此如

两年后的评论

这是我的一个老帖子。基本上,我希望通过带有字符串参数的函数创建具有动态名称的变量,并且这些变量全局存储在函数范围之外,以后可以由任何其他函数访问

但因为我不知道“全球”这个词,所以我很难解释

享受吧

背景:所以我想为我自己的界面网页建立一个JS库。结果是,如果我在我的环境中添加。该网页将生成一个工作窗口。我已经做到了

但是必须声明一些JS对象才能工作

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(...) {...}
};