Jquery 从 DOM 中创建新对象

Jquery create new object out of DOM

你好我是 JQuery 的新手...更习惯 PHP 我认为它真的很简单,但我太愚蠢了,如果我诚实的话,JS 会打破我的想法....(在 OOP 中我也学到了很多......)

所以我已经发现 PHP 中没有数组。

好的,让我们开始吧。

我的 HTML 看起来像这样:

<div id="content">
    <ul id="ul_1"></ul>
    <ul id="ul_2"></ul>
    <ul id="ul_3"></ul>
</div>

现在我想用它生成这个

controller = {
    "#ul_1": 1,
    "#ul_2": 1,
    "#ul_3": 1
};

所以更准确地说,目前它是硬编码的,就像这一行上面的代码示例一样。 但我希望它自动生成 HTML 或更好的 DOM.

我已经尝试了 .map.find.each...但我太残疾了。

我总是喜欢它一次完成,所以我的意思是如果可能的话,不要用 .each 进行迭代。我认为也许可以从 $.('#content') 对象中创建一个新对象,但采用我需要的样式。

非常感谢 Rycochet

这里是我的案例的解决方案

var controller = {};
$("#content > ul").each(function (i, el) {
    controller['#' + $(el).attr('id')] = 1;
});

还有其他解决方案吗?与 .map 一样,还是最好、最快和最简单的方法?

这里完全是猜测 - 但如果你的数据是这样的 -

<div id="content">
    <ul id="ul_1">
        <li>isn</li>
        <li>staff</li>
        <li>product</li>
    </ul>
</div>

那么你可以通过-

制作这样一个对象
var controller = {};
$("#ul_1>li").each(function(i, el) {
    controller[$(el).text()] = 1;
});

正如上面的评论所说 - 你没有提供足够的细节来猜测。