Javascript 如何获取该类包含2个名称的getelementbyClassname?
我有一个有两个名字的类,class=testselectr10,我得到了十行。例如:Javascript 如何获取该类包含2个名称的getelementbyClassname?,javascript,getelementsbyclassname,Javascript,Getelementsbyclassname,我有一个有两个名字的类,class=testselectr10,我得到了十行。例如: var res={}; 变种; 对于(var r=1;r好的,我假设代码中有一些不准确的地方: 必须distinct按键选择json中的相应数据,您不能假设json中的数据放置顺序始终与UI中的元素顺序相对应: res = JSON.parse(localStorage.getItem("testingvalue")); // res now should be in form of // res = {
var res={};
变种;
对于(var r=1;r好的,我假设代码中有一些不准确的地方:
- 必须distinct
按键选择
json
中的相应数据,您不能假设json中的数据放置顺序始终与UI中的元素顺序相对应:
res = JSON.parse(localStorage.getItem("testingvalue"));
// res now should be in form of
// res = {
// r1: {
// qtyL: 2,
// qtyO: 3,
// },
// r2: {
// ...
// },
// ...
// };
var thunks = Object.keys(res).filter(function (name) {
return name.match(/^r(\d+)$/);
});
console.log('found stat thunks:', thunks.join(', '));
for (var r = 0; r < thunks.length; r++) {
var thunk = thunks[r];
var stats = res[thunk];
var els = document.querySelectorAll("." + thunk);
console.log('supplied stats for "' + thunk + '" thunk:', JSON.stringify(stats));
console.log('found "<select>" elements:', els.length);
...
var thunks=Object.keys(res).filter(函数名){
返回名称。匹配(/^r(\d+)$/);
});
log('found stat thunks:',thunks.join(',);
对于(var r=0;r
// some ui-data bridge
function findSelectsByThunkName(name) {
if (name.match(/^r\d+$/)) { // stats thunk
return document.querySelectorAll("." + name);
} elseif (...) {
...
}
return [];
}
...
var thunks = Object.keys(res).filter(function (name) {
return name.match(/^r(\d+)$/);
});
console.log('found stat thunks:', thunks.join(', '));
for (var r = 0; r < thunks.length; r++) {
var thunk = thunks[r];
var stats = res[thunk];
var els = findSelectsByThunkName(thunk);
...
//一些ui数据桥
函数findSelectsByTunkName(名称){
如果(name.match(/^r\d+$/){//stats thunk
返回单据.查询选择全部(“.”+名称);
}埃尔塞夫(…){
...
}
返回[];
}
...
var thunks=Object.keys(res).filter(函数名){
返回名称。匹配(/^r(\d+)$/);
});
log('found stat thunks:',thunks.join(',);
对于(var r=0;r
//jQuery具有“$(document).ready(function(){…})”的“快捷方式”;'
//为了简单起见,只需使用“$(function(){…});”
$(函数(){
var-res=null;
试试{
//假设“testingvalue”包含类似“{”r1:{”qtyL:2,“qtyO:3,…}”,r2:{…},“something”:[…],“and_other:1212,…}”
res={
“r1”:{
“qtyL”:2,
“qtyO”:3,
},
“r2”:{
},
“某物”:[],
“和其他”:1212,
}
//res=JSON.parse(localStorage.getItem(“testingvalue”);
var thunks=
//从“res”对象获取所有密钥(将获取类似于[“r1”、“r2”、“something”、“and_other”、…]的内容)
对象。键(res)
//然后过滤它们,只得到那些。。。
.filter(函数(名称){
返回(
name.match(
//开始(^symbol)
//带有“r”字符
//然后有任何数字(\d序列),
//可能不止一个(+符号)
//然后结束($symbol)
/^r(\d+)$/
//这称为“正则表达式”
//您可以在提供的链接[1]上阅读有关regexp的更多信息
)
);
});
//thunks变量现在保存与“^r\d+$”模式对应的“res”对象键列表,如[“r1”、“r2”]
//由于javascript中的“array”变量实际上是对象,因此它们支持一些方便的数组元素操作方法(如前面提到的“.filter()”方法)等
//“.join()”是“array”对象的一种方法,它连接数组的字符串化元素,并将它们与提供的粘合字符串粘合,因此在本例中,[“r1”、“r2”、“r3”]变为“r1、r2、r3”
log('found stat thunks:',thunks.join(',);
//并且“数组”对象具有包含当前数组长度的“.length”属性
//我们可以使用它来迭代所有实际的元素
//的数组,而不是硬编码预期的数组长度,这有点不可靠
对于(var r=0;r