CB's blog

DOMAss (DOMAssistant) — легкая JavaScript библиотека

Февраль 25, 2007

DOMAss (upd.: теперь новое имя (DOMAssistant)) — сокращение от DOM Assistant. Официальный сайт: http://www.robertnyman.com/domass/. Отличительной особенностью данной библиотеки является минимализм — она не содержит ни визуальных эффектов, ни аякса, ни всяческих абстрактных расширений JavaScript. DOMAss — это пять, пять модулей, в которых содержится около двух десятков функций-помощников при работе с DOM. Размер — от 2,95 Кб до 11,2 Кб в зависимости от того, какие модули подключены. Это выгодно отличает DOMAss от, например, Prototype (69,5 Кб).

Несомненным плюсом DOMAss является модульность. Один основной и четыре дополнительных модуля дают разработчикам возможность использовать только необходимую функциональность, не обременяя пользователей лишними килобайтами кода.

DOMAss (2,95 Кб)

Главный и единственный обязательный модуль DOMAss, нужен для работы остальных (необязательных и независимых друг от друга) модулей. Методы:

  • $() — аргументы — один (возвращается ссылка на элемент) или несколько (возвращается массив ссылок) id элементов или просто ссылка на элемент (возвращается ссылка на этот же элемент); к ссылкам, которые возвращаются, можно применять новые методы (в зависимости) от того, какие модули подключены.

    Например:

    • $("container");
      — возвращается ссылка на элемент с id container
    • $("container", "navigation", "content");
      — возвращается масив ссылок на элементы с соответствующими id
    • $(elementReference);
      — возвращается elementReference с добавлением новых методов
  • getElementsByClassName(className, tag) — возвращается массив элементов с заданным CSS классом и (опционально) заданным HTML тегом.

    Например:

    • $("content").getElementsByClassName("post", "div")
      — возвращается масив div элементов с классом post (которые содержатся в элементе с id=”content”)
    • $("dbx-content").getElementsByClassName("selectit")
      — возвращается масив элементов с классом selectit (tag не указан) (которые содержатся в элементе с id=”dbx-content”).
  • getElementsByAttribute(attr, attrVal, tag) — поск элементов с заданным атрибутов, также опционально можно указывать значение, которое должен иметь атрибут и HTML тег.

    Например:

    • $("wrap").getElementsByAttribute("type", "text", "input");
      — возвращается масив input type="text" элементов (которые содержатся в элементе с id=”wrap”)
    • $("post-23").getElementsByAttribute("href");
      — возвращается масив элементов с атрибутом href (которые содержатся в элементе с id=”post-23″)

DOMAssContent (2,45 Кб)

Создание элементов, добавление, удаление и замена содержимого в элементах. Методы:

  • prev()
  • next()
  • create(name, attr, append, content)
  • setAttributes(attr)
  • addContent(content)
  • replaceContent(newContent)
  • remove()

DOMAssCSS (1,87 Кб)

Добавление/удаление CSS-классов элемента, проверки имеет ли элемент определенный класс, получение значений CSS свойств элемента. Методы:

  • addClass(className)
  • removeClass(className)
  • hasClass(className)
  • getStyle(cssRule)

DOMAssEvents (1,94 Кб)

Кроссбраузерное управление событиями, с возможностью добавления многих событий к одному элементу. Удаление добавленных событий, предотвращение действий событий по умолчанию, отмена пузырьковости (bubbling) событий. Методы:

  • addEvent(evt, func)
  • removeEvent(evt, func)
  • preventDefault(evt)
  • cancelBubble(evt)

DOMAssLoad (2,03 Кб)

Вызов функций сразу после загрузки DOM, не дожидаясь загрузки картинок, флеша и внешних файлов:

DOMAss.functionsToCall = [
	// name of function
	functionName
	// name of function with parentheses and optional arguments
	"functionName()"
];

Обновлено 2 марта:

Теперь DOMAss переименован в DOMAssistant (более серьезное имя), к тому же добавился новый синтаксис для того чтобы, не было конфликтов с библиотеками Prototype и jQuery (они тоже используют $-функции): http://www.robertnyman.com/2007/03/02/…/.

Теперь обычному выражению типа такого:

$("id-of-element");

Соответсттвует эквивалентное "совместимое":

DOMAssistant.$("id-of-element");

Комментарии (3) на “DOMAss (DOMAssistant) — легкая JavaScript библиотека”

  1. AJAX Suggestions - CB’s blog:

    […] Блог « DOMAss (DOMAssistant) — легкая JavaScript библиотека […]

  2. Выделение строк таблицы по клику - CB’s blog:

    […] Update: тоже самое, но с использованием DOMAssistant вместо Prototype: […]

  3. Ivan:

    DOMAss (2,95 Кб) - ссылка битая.

Добавить комментарий