Skip to content

Instantly share code, notes, and snippets.

@eto4detak
Last active July 2, 2019 16:55
Show Gist options
  • Select an option

  • Save eto4detak/17d9a0377a4a6fcdd125fd069df2c38d to your computer and use it in GitHub Desktop.

Select an option

Save eto4detak/17d9a0377a4a6fcdd125fd069df2c38d to your computer and use it in GitHub Desktop.
js script
'<a href="javascript:void(0)">Войти</a>';
window.location.href = 'uploads/file.doc';
str.search( /лю/i );
window.open('http://ya.ru');
document.body.style.background = 'red';
location.href = location.pathname + '/?wt_city_by_default=' + geoData.city;
event.preventDefault();
$('html, body').animate( { scrollTop: 0 }, 'medium');
alert( null >= 0 ); // true, т.к. null преобразуется к 0
alert( null > 0 ); // false (не больше), т.к. null преобразуется к 0
alert( null == 0 ); // false (и не равен!), т.к. == рассматривает null особо.
alert( undefined > 0 ); // false, т.к. undefined -> NaN
alert( undefined == 0 ); // false, т.к. это undefined (без преобразования)
alert( undefined < 0 ); // false, т.к. undefined -> NaN
if (~str.indexOf("get")) {
alert( 'совпадение есть!' );
}
!isNaN(parseFloat(obj)) // string = true
//удалить элемент
Array.prototype.remove = function(value) {
var idx = this.indexOf(value);
if (idx != -1) {
// Второй параметр - число элементов, которые необходимо удалить
return this.splice(idx, 1);
}
return false;
}
console.dir(elem);//выводит элемент в виде JavaScript-объекта
/*========================================================
* html
========================================================*/
//добавить функцию ко всем html элементам
Element.prototype.sayHi = function() {
alert( "Привет от " + this );
}
document.body.sayHi()
//добавить свойство ко всем html элементам
Object.defineProperty(Element.prototype, 'lowerTag', {
get: function() {
return this.tagName.toLowerCase();
}
});
alert( document.body.lowerTag ); // body
elem.classList.toggle("class");// – если класса class нет, добавляет его, если есть – удаляет.
//--------------html создать добавить ------------------
var newLi = document.createElement('li');
newLi.innerHTML = 'Привет, мир!';
newLi.className = "alert alert-success";
list.appendChild(newLi);//добавить как последний элемент
document.body.insertBefore(div, document.body.firstChild);//добавить как первый элемент
// создать глубокую копию узла
var div2 = div.cloneNode(true);
li5.insertAdjacentHTML("beforeBegin", "<li>3</li><li>4</li>");//вставить элементы до выбранного элемента
var p = document.createElement('p'); document.body.append(p); //вставить что угодно в элемент
//--------------html поиск --------------------------
// ближайший элемент сверху, подходящий под селектор span
// это сам numberSpan, так как поиск включает в себя сам элемент
alert(numberSpan.closest('span') === numberSpan) // true
//------------события ----------------------------
var elems = document.querySelectorAll('form,div,p'); // на каждый элемент повесить обработчик на стадии перехвата
for (var i = 0; i < elems.length; i++) {
elems[i].addEventListener("click", highlightThis, true);
}
document.onclick = function(event) { //поведение - повесить обработчик на любой элемент при помощи атрибута
var target = event.target;
var id = target.getAttribute('data-toggle-id');
if (!id) return;
var elem = document.getElementById(id);
elem.hidden = !elem.hidden;
};
var tree = document.getElementsByTagName('ul')[0]; //из списка в treeview
var treeLis = tree.getElementsByTagName('li');
/* wrap all textNodes into spans */
for (var i = 0; i < treeLis.length; i++) {
var li = treeLis[i];
var span = document.createElement('span');
li.insertBefore(span, li.firstChild);
span.appendChild(span.nextSibling);
}
/* catch clicks on whole tree */
tree.onclick = function(event) {
var target = event.target;
if (target.tagName != 'SPAN') {
return;
}
/* now we know the SPAN is clicked */
var childrenContainer = target.parentNode.getElementsByTagName('ul')[0];
if (!childrenContainer) return; // no children
childrenContainer.hidden = !childrenContainer.hidden;
}
elem.addEventListener("hello", function(event) { //генерация событий на элементе
alert( event.detail.name );
}, false);
var event = new CustomEvent("hello", {
detail: { name: "Вася" }
});
elem.dispatchEvent(event);
//-----------------form ------------------------
<form name="my"> //работа с формами
<input name="one" value="1">
<input name="two" value="2">
<select name="genre" multiple>
<option value="blues" selected>Мягкий блюз</option>
<option value="rock" selected>Жёсткий рок</option>
<option value="classic">Классика</option>
</select>
</form>
<script>
var form = document.forms.my; // можно document.forms[0]
var elem = form.elements.one; // можно form.elements[0]
var select = form.elements.genre;
alert( elem.value ); // 1
</script>
<input id="input" type="text"> //работа с вводам текста
<script>
input.onblur = function() {
if (isNaN(this.value)) { // введено не число
// показать ошибку
this.classList.add("error");
//... и вернуть фокус обратно
input.focus();
} else {
this.classList.remove("error");
}
};
input.oninput = function() { //событие на изменение
document.getElementById('result').innerHTML = input.value;
};
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment