Web Мастерская
Как разбить строку в массив на JavaScript
Чтобы разбить строку в массив я буду использовать функцию split. Данная функция для того и была создана, чтобы возвратить новый массив из предоставленной ей строки. Если разделитель не будет указан или совпадение найдено не будет, то функция вернет массив с одним элементом в виде предоставленной строки. Для пример возьмем строку из пяти букв и трех запятых:
Данный код поочередно выведет на экран четыре сообщения:
Можно задать лимит элементов в массиве, допустим, на выходе получаем массив с четырьмя элементами, а надо получить с тремя. Тут добавляем второй...
a, b, c d, f
, запятые будем использовать, как разделитель, то есть то что находится между запятыми станет элементом массива. Разделитель необходимо вставить в саму функцию: split(',')
. У нас должен получиться массив из четырех элементов, три элемента из одной буквы и один из двух:
var str = 'a, b, c d, f';
var arr = str.split(',');
for (var i = 0; i < arr.length; i++) {
alert(arr[i]);
};
Данный код поочередно выведет на экран четыре сообщения:
a
b
c d
f
. Мы разбили строку в массив.Можно задать лимит элементов в массиве, допустим, на выходе получаем массив с четырьмя элементами, а надо получить с тремя. Тут добавляем второй...
- Жалоба
Как передать переменную из JavaScript в PHP
В интернете наткнулся на одну статью, где говорилось, как передать переменную с JS в PHP. Автор статьи показывает пример, как это сделать (Внимание: код не верный):
Автор гарантирует, что именно так можно передать переменную в PHP. Мне показалось, что я чего то не понял, что возможно автор имел введу, что то другое, но перечитав статью еще раз, понял, что я все правильно понял, что имел введу автор "писанины"!
Ссылаться на эту статью я не буду, называть автора тоже не буду.
Подобные статьи могут завести человека в тупик, так как данная статья рассказывает совершенно о неверном способе передачи переменной с JS в PHP. Меня однажды подобная статья сбила с толку... Если рассуждать логически - PHP работает на стороне сервера и не может быть понятым браузером, а JS выполняется браузером, то есть на компьютере у пользователя и если в браузере будет PHP код, неважно что функция или переменная, он будет принят, как...
<script type="text/javascript">
<?php $value = ' + value + '; ?>
</script>
Автор гарантирует, что именно так можно передать переменную в PHP. Мне показалось, что я чего то не понял, что возможно автор имел введу, что то другое, но перечитав статью еще раз, понял, что я все правильно понял, что имел введу автор "писанины"!
Ссылаться на эту статью я не буду, называть автора тоже не буду.
Подобные статьи могут завести человека в тупик, так как данная статья рассказывает совершенно о неверном способе передачи переменной с JS в PHP. Меня однажды подобная статья сбила с толку... Если рассуждать логически - PHP работает на стороне сервера и не может быть понятым браузером, а JS выполняется браузером, то есть на компьютере у пользователя и если в браузере будет PHP код, неважно что функция или переменная, он будет принят, как...
Событие onError (JavaScript)
Событие onError - выполняется при возникновении ошибки загрузки картинки или документа в целом.
Пример использования:
Пример с использованием метода addEventListener:
...
Пример использования:
<img src="img.png" alt="" onError="alert('Ошибка загрузки картинки.');">
Пример с использованием метода addEventListener:
<img src="img.png" alt="" id="image">
<script type="text/javascript">
var image = document.getElementById('image');
image.addEventListener('error', problem);
function problem() {
alert('Ошибка загрузки картинки.');
};
</script>
Добавление контента при помощи JavaScript (Не замена)
Многие задают вопрос, как добавить информацию в блок на JavaScript, при чем в блоке уже имеется какая то информация и надо именно добавить, а не заменить. Если сделать так:
То все, что находится в блоке с id:
Наверное, самый простой (займет всего одну строчку) - добавление контента при помощи
Теперь текст
Еще один вариант добавления контента при помощи метода appendChild. Предназначение данного метода - добавление узла в указанный ему элемент. Узел добавляется в конец. Делаем так:
...
document.getElementById('content').innerHTML = 'Новая информация';
То все, что находится в блоке с id:
content
будет заменено на Новая информация
, то что было до вставке, будет стерто. Сейчас я расскажу, как можно избежать удаления и сделать именно добавление контента.Наверное, самый простой (займет всего одну строчку) - добавление контента при помощи
+
, мы просто добавляем знак плюса перед знаком равно (=
), вот так:
document.getElementById('content').innerHTML += 'Новая информация';
Теперь текст
Новая информация
будет добавлен в конец информации в блоке.Еще один вариант добавления контента при помощи метода appendChild. Предназначение данного метода - добавление узла в указанный ему элемент. Узел добавляется в конец. Делаем так:
var div = document.createElement('div'); // Создаем блок
Как добавить новые элементы в массив на JavaScript
Покажу один простой пример, как можно добавить новые элементы в уже существующий массив. Для этого я буду использовать функцию push(). Предназначение данной функции как раз таки добавлять один или несколько элементов в конец массива. Перехожу к примеру работы функции:
Теперь наш массив
Если надо добавить в массив элементы из другого массива, скажем из
После выполнения цикла получим вот такой...
var arr = [1, 2, 3]; // Массив: 1, 2, 3
arr.push(4); // Добавляем один элемент ("4") в конец массива "arr"
arr.push(5, 6); // Добавляем два элемента ("5", "6") в конец массива "arr"
arr.push(7, 8, 9); // Добавляем три элемента ("7", "8", "8") в конец массива "arr"
Теперь наш массив
arr
выглядит так:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // Массив: 1, 2, 3, 4, 5, 6, 7, 8, 9
Если надо добавить в массив элементы из другого массива, скажем из
arr2
в arr1
, то это можно сделать перебором, при помощи цикла for, например. Делаем так:
for (i = 0; i < arr2.length; i++) {
arr1.push(arr2[i]); // Добавляем один элемент ("i") в конец массива "arr" при каждой итерации
};
После выполнения цикла получим вот такой...