Показать сообщение отдельно
  #25 (permalink)  
Старый 26.08.2012, 19:38
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Извиняюсь, я не раньше не тестировал этот код, а сейчас сделал это и оказались 2 ошибки:
1) запятая вместо точки запятой в 20-й строчке;
2) обращение к переменной topmenu идёт перед тем, как её определили (если вы её в другом месте не определили).
Так уже работает:
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="application/xhtml+xml;charset=UTF-8" /><title></title>
</head>
<body>
<div></div>
<div></div>
<script>
var topmenu = (function(window) {
  var elements = {};
  var result={
    functio: function (elements) {
      alert(elements);
    }
  };
  function f(callback) {
    Array.prototype.forEach.call(elements, callback);
    return this;
  }
  for (var method in result)
    result[method]=f.bind(result, result[method]);
  result.Sattr=function(name)
                {
                try{ elements = document.querySelectorAll(name);}catch(e){}
                      
                    return this;
                };
  return result;
}(window));
  
topmenu.Sattr("div").functio();

</script>
</body>
</html>

Последний раз редактировалось oneguy, 26.08.2012 в 19:58.
Ответить с цитированием