javascript foreach увеличить число - PullRequest
0 голосов
/ 13 августа 2011
var dd = Math.floor(Math.random()*99);    
$('#a'+ dd + 'b'+ dd + 'c'+ d ).css({...});



for (var i=1; i<100; i++) {
 for (var ii=1; ii<100; ii++) {
  for (var iii=1; iii<100; iii++) {
   $('#a'+ i + 'b' + ii + 'c' + iii).css({...});
  }
 }
}

Мне нужна помощь в изменении div css с таким номером id, как div#a + num + b + num + c + num (диапазон num от 1 до 99, например, div#a11b35c9, div#a98b23c17. ..)

Рандом не может разграничивать весь диапазон чисел от (1-99), поэтому судить нужно медленно. Как я могу сделать это более эффективным? (Также сложно добавить класс для каждого div) Спасибо.

Ответы [ 3 ]

2 голосов
/ 13 августа 2011
divArray=document.getElementsByTagName('div');
for (mydiv in divArray) {
    if (mydiv.id.match(/^a\d{1,2}b\d{1,2}c\d{1,2}$/)) {
        // make your change here
    }
}
1 голос
/ 13 августа 2011

Существует Атрибут начинается с селектора

$('div[id^="a"]')

, это даст вам все div, которые имеют id, начинающиеся с "a", но этот набор результатов требует дополнительной фильтрации, если вы это сделаетеиспользуйте «обычные» идентификаторы, которые также начинаются с «а».

1 голос
/ 13 августа 2011

Почему бы не добавить класс ко всем этим тегам <div> и сделать это:

$('.myDivs').css({ ... });

Возможно, вам удастся сойти с рук что-то вроде этого, если добавить класс невозможно:

$('div[id^=a][id*=b][id*=c]').css({ ... });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...