Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2015, 16:05
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

метод children
Привет всем! я вернулся! По ходу я тут долго буду главным генератором тем, у меня так всё в голове перемешалось, я уже не вижу что и где

Хочу сделать метод, который возвращал хотя бы все дочерние, для начала, год на фильтрацию выделю потом, так и быть. Чёрт знает что возвращает, вроде должен метод html для каждого дочернего сработать, а в итоге всё что было замещается

// метод children - возвращает массив со всеми указанными дочерними элементами 
_init_.prototype.children = function(){
  
    if (document.documentElement.children){
        var self = this.s[0];
        for(var i = 0; i < self.children.length; i++){
            this.s[i] = self.children[i];
        }
        return this;
    }
 // это потом, в книжке нашел 
    else {
 _init_.prototype.__defineGetter__("children", function() {
 var kids = [];
 for(var c = this.firstChild; c != null; c = c.nextSibling)
 if (c.nodeType === 1) kids.push(c);
 });
 return this;
}
 
}


как нужно, профи?
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2015, 19:13
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Обана, я уже аспирант, круто, товарищи Расти, карма.. Гифки тут конечно как на госзаказ подобранные
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2015, 20:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

sash003,

_init_.prototype.children = function() {
    var kids = [];
    for (var i = 0; i < this.s.length; i++) {
        for (var c = this.s[i].firstChild; c != null; c = c.nextSibling)
            if (c.nodeType === 1) kids.push(c);
    };
    return _A_(kids);
}
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2015, 21:24
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Да ладно, не плачь. научуся может быть
Спасибо, ты настоящий друг
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2015, 21:28
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Я в основном на киберфоруме в роли про тусуюся тут на вашем фоне даже боюся пробовать
Верят, главное
http://www.cyberforum.ru/javascript/thread1495370.html
Ответить с цитированием
  #6 (permalink)  
Старый 09.07.2015, 21:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

sash003,

Цитата:
чтобы при выборе одного из значений первой группы радиокнопок, во второй группе выбиралось ровно тоже самое.
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<input type="radio" name="property_0" id="1"/>
<input type="radio" name="property_0" id="2"/>
<input type="radio" name="property_0" id="3"/>
<br />
<input type="radio" name="property_1" class="i1"/>
<input type="radio" name="property_1" class="i2"/>
<input type="radio" name="property_1" class="">
<script>
var radio = document.getElementsByName('property_0');
var radio2 = document.getElementsByName('property_1');
for(var i = 0; i<radio.length; i++){
    addEvent(radio[i], 'click', handler(i));
}

function handler(a) {
    return function() {
        radio2[a].checked = true
    }
}

// функция кроссбраузерной установки обработчиков событий
function addEvent(elem, type, handler, param){
    param = param || false;
  if(elem.addEventListener){
    elem.addEventListener(type, handler, param);
  } else {
    elem.attachEvent('on'+type, handler);
  }
  return false;
}

// функция кроссбраузерного удаления обработчиков событий
function removeEvent(elem, type, handler, param){
    param = param || false;
  if(elem.removeEventListener){
    elem.removeEventListener(type, handler, param);
  } else {
    elem.detachEvent('on'+type, handler);
  }
  return false;
}
</script>
</body>

</html>

Последний раз редактировалось рони, 09.07.2015 в 22:30.
Ответить с цитированием
  #7 (permalink)  
Старый 09.07.2015, 22:07
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

ну да типо, зачем аж сюды занёс?
Ответить с цитированием
  #8 (permalink)  
Старый 09.07.2015, 22:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

sash003,
handler покоре сделал, может пригодится кому
Ответить с цитированием
  #9 (permalink)  
Старый 09.07.2015, 22:31
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

А я и не заметил ну у меня там хендлер помассивней был, посолиднее. Как это, слышал, людям платили за строки кода?
Больше кода - больше капусты

Последний раз редактировалось sash003, 09.07.2015 в 22:35.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кастомный метод для элемента выборки. Casufi jQuery 7 26.09.2013 18:43
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Общие вопросы Javascript 1 13.04.2011 22:09
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Как узнать у какого объекта вызван метод. Scalar Events/DOM/Window 4 26.03.2010 11:10
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 19:29