есть к примеру такой код
(div onclick="f()")Жми! (/div)
(script)
function f( ) {
this.innerHTML="Привет!";
};
(/script)
Он не работает, объясните, пожалуйста, как через this можно поменять этот innerHTML. Объясните поподробней, я с объектами не программировал, про них мало знаю. Но читал, что такие элементы как див и проч js тоже рассматривает как объект
JavaScript
Подскажите про JavaScript про this
Вот так 100% будет работать
<div id="div">Жми! </div>
<script type="text/javascript">
div.onclick = function () {
this.innerHTML="Привет!";
}
<div id="div">Жми! </div>
<script type="text/javascript">
div.onclick = function () {
this.innerHTML="Привет!";
}
Талгат Жасузаков
Да, через id будет работать, но если таких элементов которые вызывают одну и туже функцию, много, то она сможет только с одним записаным в ней идом работать
В спецификации языка тебе мало рассказано?
Хотя, учитывая использование onclick и innerHTML... забей, крч. Твои попытки понять, окажутся бесполезными.
Хотя, учитывая использование onclick и innerHTML... забей, крч. Твои попытки понять, окажутся бесполезными.
Sweet Smith
Мне взападло читать, я хочу что бы мне дядька из интернета рассказал!
<div onclick="f(this)">Жми! </div>
function f( bubu ) {
bubu.innerText = "Привет!";
}
Так будет работать...
А onclick="..."
или тот же element.onclick = funcion()... обычно используют для простых кнопок, у которых очевидно есть только одна функция (закрыть какое-нибудь окошко и т. п.)
Минусы: 1. У onclick может быть только одно значение. Т. е. если уже есть один, а вы где-нибудь в другом месте в скрипте добавите еще один onclick для этого элемента - оба одновременно не будут работать. Один перепишет значение другого и он перестанет работать.
2. Задолбаетесь в HTML постоянно добавлять onclick="...", а потом захочется туда еще одну функцию добавить - всё заново редактировать.
Можно использовать:
<div id="bubu">Жми! </div>
var bubu = document.getElementById('bubu');
bubu.addEventListener('click', function(){
this.innerText = 'Бубу!';
});
_________
А вот innerHTML - innerText ...скорее формальность. Считается более грамотным писать innerText, если в тексте не будет содержаться HTML-код. Т. к. innerHTML тратит "ресурсы" на проверку всего текста на наличие HTML, чтобы выполнить его как код. А innerText сразу не разбирая ставит все символы как обычный текст. Хотя я не представляю, каких объемов должен быть передаваемый текст, чтобы разница реально ощущалась.
function f( bubu ) {
bubu.innerText = "Привет!";
}
Так будет работать...
А onclick="..."
или тот же element.onclick = funcion()... обычно используют для простых кнопок, у которых очевидно есть только одна функция (закрыть какое-нибудь окошко и т. п.)
Минусы: 1. У onclick может быть только одно значение. Т. е. если уже есть один, а вы где-нибудь в другом месте в скрипте добавите еще один onclick для этого элемента - оба одновременно не будут работать. Один перепишет значение другого и он перестанет работать.
2. Задолбаетесь в HTML постоянно добавлять onclick="...", а потом захочется туда еще одну функцию добавить - всё заново редактировать.
Можно использовать:
<div id="bubu">Жми! </div>
var bubu = document.getElementById('bubu');
bubu.addEventListener('click', function(){
this.innerText = 'Бубу!';
});
_________
А вот innerHTML - innerText ...скорее формальность. Считается более грамотным писать innerText, если в тексте не будет содержаться HTML-код. Т. к. innerHTML тратит "ресурсы" на проверку всего текста на наличие HTML, чтобы выполнить его как код. А innerText сразу не разбирая ставит все символы как обычный текст. Хотя я не представляю, каких объемов должен быть передаваемый текст, чтобы разница реально ощущалась.
Талгат Жасузаков
есть ли разница писать ?
document.getElementById('IDElem').innerHTML="Текст";
или
IDElem.innerHTML="Текст";
я обычно короче пишу, но в ютубе и прочих инструкциях почему-то любят использовать длинный вариант
document.getElementById('IDElem').innerHTML="Текст";
или
IDElem.innerHTML="Текст";
я обычно короче пишу, но в ютубе и прочих инструкциях почему-то любят использовать длинный вариант
Похожие вопросы
- Подскажите книги для изучения javascript? Хочу начать изучать веб программирование javascript подойтет для начала?
- Я не понимаю... Зачем нужен this в javascript?
- Есть ли аналоги JavaScript?
- С чего начать учить JavaScript?
- Зачем нужен prototype в JavaScript?
- Тяжело ли выучить JavaScript?
- Как создать квадрат через JavaScript?
- Не понимаю смысл указателя this: зачем он нужен, к пример, в данной функции:
- Смотрел я тут учебный курс Евгения Попова по javascript. Удивил он (Попов) в паре мест...
- Имеет ли смысл изучать JavaScript если я полный ноль в веб программировании?