МенDashed CMS RSS
Курагирование от бороды
 
 
 /Root/Мақалар/

Любимые возможности javascript

24.10.2011 11:48:17

Итак в этой статье я напишу о моих самых любимых возможностях в языке программирования JavaScript.

 

  1. Самая используемая это пожалуй .getElementById() - находит элемент с указанным id и позволяет им управлять пример использования: document.getElementById('content').innerHTML = '1'

  2. .innerHTML и .value возвращают и присваивают текстовое содержимое элемента страницы .innerHTML для простых элементов(<b>,<div>,<span> и т.д), а .value для контролов (<input>, <textarea>), причем для некоторых элементов таких как <select> можно использовать и то и другое, в данном случае .innerHTML отвечает за текст внутри тега <select>, .value за значение которое выбрано.

  3. .getElementsByTagName()[] возвращает массив найденных элементов, если в квадратных скобках указать число то вернет один элемент с индексом указанным в скобках. Пример alert(document.getElementsByTagName('div')[0].innerHTML)

  4. alert() - Диалог предупреждение в некоторых языках программирования известен как messageBox, в javascript он чаще всего используется для отладки или в качестве сообщения об ошибки

  5. confirm() - диалог вопроса, подтверждения операции имеет две кнопки "да" или "нет", в случае если пользователь нажимает "да" то функция возвращает true, в противном случае false. Пример: if(confirm('Хотите удалить?')){alert('Удалено')}

  6. .parentNode — эта потрясающая возможность позволяет получить и управлять родительским элементом, например у вас есть древовидное меню на сайте на сайте и вам надо подсветить и раскрыть пункт который соответствует странице для этого вам надо будет с помощью .getElementsByTagName перебрать все ссылки в меню, сравнить их с document.location и с помощью .parentNode раскрыть все родидельские элементы, пример не буду приводить длинный слишком, может в другой статье

  7. document.location, document.location.href = '', document.location.reload() - получение URL из адресной строки, переход на другую страницу, обновление страницы

  8. .offsetWidth и offsetHeight позволяют получить ширину и высоту элемента в пикселах. Пример: alert(document.getElementById('content').offsetWidth)

  9. События: .onclick() = function(){alert(this.id)}
    .onmouseover(), .onmouseout(), .onmousemove(), .onkeyup(), .onkeydown() и другие не буду все перечислять, приятным моментом является то что при возникновении события идентификатор элемента возвращается в this и еще один интересный момент, если в конец функции поставить return false, то например на ссылке не будет срабатывать переходи или на <input> при нажатии на клавиши при событии вида onkey..() не будут срабатывать нажатия, это все можно использовать для себя конечно... пример document.getElementById('content').onclick = function(){alert(this.id)}

  10. Следующие возможности просто приведу списком, они относятся к управлению стилями
    .style.display = '' // none/block
    .style.border = "1px dashed #F00"
    .style.borderBottom = "2px"
    .style.fontSize = "12px"
    Дальше думаю продолжать смысла нет, так как всё это соответствует css стилям, разница только в том что тире заменяется на букву в верхнем регистре, так как Javascript чувствителен к регистру

  11. Регулярные выражения в Javascript очень хорошая возможность для обработки страницы пример: var expr = new RegExp('(?:<font\\s[^>]*>)|(?:<font>)', 'igm'); document.getElementById(id).value=document.getElementById(id).value.replace(expr,'');

  12. Интересная реализация объекта функции var func = function(){}, это позволяет делать очень многое, передавать свою функцию в другую в качестве аргумента, это позволяет создавать обработку событий, например в ajax я уже писал про это в одной статье.

  13. .split().join() это прямой аналог известной функции str_replace(), но на самом по отдельности они аналоги explode() и implode() в PHP. У того кто только начинает изучать javascript может возникнуть много вопросов, а почему же в этом языке программирования, нет функции замены одного текста на другой, просто она заменяется другими функциями описанными выше, с одной стороны это не удобно, но с другой меньше запоминать и больше думать. Такое асимметричное положение и с многими другими функциями в javascript например нет .getElementsByClass

 

Прошу прощения статья получилась не очень профессиональна, просто мне хотелось выразить свое мнение простыми словами, да и строго говоря частенько путаюсь в терминах и понятиях. Эта статейка больше ориентированна на тех кто немного неправильно задал вопрос в google, ну бывает не смог сформулировать правильно. Надеюсь комунибудь статья поможет, в поиске нужной функции. По опыту знаю что при поиске нужного решения, ответ можно интуитивно вырвать из какого либо примера или даже немного нелепой статьи вроде этой! Если вы не довольны статьей то выделяете нужный участок и жмете CTRL + ENTER, комментарии на своем сайте я пока не сделал, да и строго говоря не очень хочется разводить грязь, важные поправки буду вносить в текст и указывать участие автора поправки!

Рейтинг $r-- [0] $r++

Показать коментарии (vkontakte.ru)
}