Javascript 将div序列加载到字典中?
有没有可能用jquery/javascript从这个序列生成一个字典 关键词:价值 结果是:Javascript 将div序列加载到字典中?,javascript,jquery,Javascript,Jquery,有没有可能用jquery/javascript从这个序列生成一个字典 关键词:价值 结果是: "1:52:5" 它放松了字符串之间的分隔,以便以后将它们放入字典中。 是否有现成的函数可以执行此操作?尝试将文本值转换为数组: var x = $.makeArray($('#hidden_loaded_deals > div')) .map(function(a){return $(a).text();}); //=> x = ['1:5','2:5'] 或者更保守
"1:52:5"
它放松了字符串之间的分隔,以便以后将它们放入字典中。
是否有现成的函数可以执行此操作?尝试将文本值转换为数组:
var x = $.makeArray($('#hidden_loaded_deals > div'))
.map(function(a){return $(a).text();});
//=> x = ['1:5','2:5']
或者更保守一些:
var tmpdict = [];
$('#hidden_loaded_deals > div').each(
function(){
tmpdict.push($(this).text());
}
);
//=> tmpdict = ['1:5','2:5']
尝试将文本值转换为数组:
var x = $.makeArray($('#hidden_loaded_deals > div'))
.map(function(a){return $(a).text();});
//=> x = ['1:5','2:5']
或者更保守一些:
var tmpdict = [];
$('#hidden_loaded_deals > div').each(
function(){
tmpdict.push($(this).text());
}
);
//=> tmpdict = ['1:5','2:5']
这可能行得通。迭代每个div,解析其文本,并更新对象字典
var x = {};
$('#hidden_loaded_deals > div').each(function(index, elem) {
var l = elem.innerText.split(':');
x[l[0]] = l[1];
});
console.log(x); // x is {"1": "5", "2": "5"}
这可能行得通。迭代每个div,解析其文本,并更新对象字典
var x = {};
$('#hidden_loaded_deals > div').each(function(index, elem) {
var l = elem.innerText.split(':');
x[l[0]] = l[1];
});
console.log(x); // x is {"1": "5", "2": "5"}
Koolnic的答案很好,但我建议使用对象文字作为键值存储。然后可以使用for in语法循环键
var tmpdict = {};
$('#hidden_loaded_deals > div').each(
function(){
var splitted = $(this).text().split(':');
tmpdict[splitted[0]] = splitted[1];
}
);
for(var key in tmpdict)
{
var value = tmpdict[key];
}
Koolnic的答案很好,但我建议使用对象文字作为键值存储。然后可以使用for in语法循环键
var tmpdict = {};
$('#hidden_loaded_deals > div').each(
function(){
var splitted = $(this).text().split(':');
tmpdict[splitted[0]] = splitted[1];
}
);
for(var key in tmpdict)
{
var value = tmpdict[key];
}
它对我有效,请看:JSFIDLE示例对您有效吗?如果是这样的话,在hidden_loaded_deals下还有其他元素吗?它对我有效,请看:JSFIDLE示例对您有效吗?如果是,在隐藏的交易中是否还有其他元素?