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;
});
正如上面的评论所说 - 你没有提供足够的细节来猜测。
你好我是 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;
});
正如上面的评论所说 - 你没有提供足够的细节来猜测。