Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   запуск скрипта с помощью идентификатора (https://javascript.ru/forum/misc/58137-zapusk-skripta-s-pomoshhyu-identifikatora.html)

BARABANTEMO 08.09.2015 01:23

да и вот ещё можно ли сделать чтобы вместо id="message" был class="message" ну это не обязательно просто для интересса

nesnayka 08.09.2015 11:04

window.onload === $(document).ready
(ну почти :) )

Можно и класс message. Вот так:
var h = document.getElementsByClassName('message')[0];
Только нужно помнить, что
document.getElementById('message'); - возвращает один элемент, а
document.getElementsByClassName('message') - целый массив, всех элементов, у которых класс = 'message', поэтому, если он все-таки один на странице, то можно воспользоваться и этим методом, но поставить [0] - обращение к элементу массива. Если их несколько, то соответственно перебрать весь массив и найти тот, элемент который нужно (по имени тега или по id). Но такой вариант в любом случае требует уточнения, поэтому лучше сразу обращаться по id.

BARABANTEMO 08.09.2015 13:42

nesnayka, ещё раз спасибо за исчерпывающий ответ

nesnayka 08.09.2015 13:51

BARABANTEMO,
Всегда пожалуста. )

BETEPAH 08.09.2015 23:03

Цитата:

Сообщение от nesnayka
var h = document.getElementsByClassName('message')[0];
...
поэтому, если он все-таки один на странице, то можно воспользоваться и этим методом, но поставить [0]

красивее так:
var h = document.querySelector('.message')

nesnayka 09.09.2015 01:15

Цитата:

Сообщение от BETEPAH (Сообщение 387686)
красивее так:
var h = document.querySelector('.message')

Согласен.
Но я там особо не задумывался о красоте кода, главное направление в котором мыслить. Можно и $('.message') :)
Там и по поводу того, что "document.getElementsByClassName('message') - целый массив, всех элементов" - неточность. Реально это больше чем массив, у этих(этого) объектов(а) есть и другие свойства. Но для общего понимания...


Часовой пояс GMT +3, время: 23:46.