Показать сообщение отдельно
  #3 (permalink)  
Старый 07.11.2011, 14:11
Аспирант
Отправить личное сообщение для rockerror Посмотреть профиль Найти все сообщения от rockerror
 
Регистрация: 07.11.2011
Сообщений: 54

Попробовал, длину возвращает верно вроде, но когда пытаюсь перебрать этот массив с целью получения значений id, чет не получается. Пробовал вот так:
$(document).ready(function() {
  var cells = $('*[id]');
    for(var key in cells) {
      alert(key);
    }
});


Кстати, нашел в инторнетах вот такое решение (вполне себе рабочее):
var findId = function(id)  {
  output=new Array();  // Создаём массив, который в последующем будем возвращать
  var node = (typeof id == 'undefined' ? document.getElementsByTagName('body')[0] : document.getElementById(id)).getElementsByTagName('*');  // Если в прямую не было указано дочерние элементы какого id надо искать собираем все в нутри body
  for(var i=0; i<node.length; i++) {  // Перебираем полученное в node
    if(node[i].getAttribute('id')) output[node[i].getAttribute('id')] ="ok";  // Пишем массив output ключами, которого будут id элементов а значением, что пожелаете (в моём случаи строка ок)
    }
  return output;  // Возвращаем сформированный массив
}


cells = findId();
for (var key in cells)  {  // Перебираем массив
  var val = cells [key];
  alert(key);  // Выводим id элемента
}


Однако, судя по всему подход, предложенным вами, ksa, даст более краткий и православный код. Подскажите, как развить ваше предложение до нужного функционала? (Сам пишу на php, и какбэ немного теряюсь в догадках). Заранее спс =)
Ответить с цитированием