const start = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 1);
setInterval(() => {
const arr = String((parseInt((new Date - start) / 1000))).split("");
const length = arr.length;
let html = `<div id="txt">`;
for (let i = 0; i < length; i += 1) {
html += `<span class="digit-${i}">${arr[i]}</span>`;
}
html += "</div>";
document.body.innerHTML = html;
}, 1000);
<input type="text" class="test">
<div class="result"></div>
const input = document.querySelector(".test");
const result = document.querySelector(".result");
input.onkeyup = input.oncopy = input.onpaste = input.oncut = event => {
if (event.target.value == "value") { // any some condition
result.innerHTML = event.target.value;
// or some code
}
};
const str = "Error.0.Value : This is error for item 0.\r\nError.1.Value : This is error for item 1 and this item is exist.";
let result = {};
str.split("\r\n").forEach(item => Object.assign(result, { [`someinput[${item.split(" : ")[0].match(/\d+/)}]`]: item.split(" : ")[1] }));
/*
{
"someinput[0]": "This is error for item 0.",
"someinput[1]": "This is error for item 1 and this item is exist."
}
*/
"2017-09-08T21:03:49.736Z".match(/\d+-\d+-\d+/).join();
"2017-09-08T21:03:49.736Z".match(/.{10}/).join();
"2017-09-08T21:03:49.736Z".slice(0, 10);
"2017-09-08T21:03:49.736Z".split("T")[0];
"2017-09-08T21:03:49.736Z".substring(0, 10);
[..."2017-09-08T21:03:49.736Z"].splice(0, 10).join("");
"2017-09-08T21:03:49.736Z".match(/[\d-]+/)[0]; // @romasovest
document.querySelector(".product__shopcard-btn").closest(".product"); // <div class="product"></div>
let element = document.querySelector(".product__shopcard-btn");
while (!element.classList.contains("product")) {
element = element.parentElement;
if (!element) {
break;
}
}
const find = (node, className) => {
while (node) {
if (node.classList.contains(className)) {
return node;
} else {
node = node.parentElement;
}
}
return null;
}
<form>
<button type="submit">Go</button>
<button class="add">Добавить</button>
</form>
<ul class="list"></ul>
let index = 0;
let list = $(".list");
$("form").bind("submit", event => { // bind!!!
event.preventDefault();
list.find("li").each(item => {
alert(item);
});
});
$(".add").on("click", event => {
event.preventDefault();
const li = document.createElement("li");
li.textContent = index++;
list.append(li);
})
// Лаконичнее этот вакуумный кусок кода написать на pure JS: (Но это не лучшая практика, делать так все таки не стоит)
[...document.querySelectorAll("a")].forEach(link => link.addEventListener("click", event => {
event.preventDefault();
}, false));
// К тому же...Либо вы используете ссылки с href, либо используете другие компоненты, например button.
// Ссылка она на то и ссылка, что должна куда то ссылаться.
// Что то типа этого...но это дико ужасно. Вам явно нужно задуматься над другой реализацией.
// Хотя бы используйте шаблонизатор какой нибудь.
const list = document.querySelector("ol");
const createList = (list, questions) => {
for (let i = 0; i < questions.length; i += 1) {
let question = questions[i];
let index = i + 1;
let li = document.createElement("li");
let span = document.createElement("span");
li.classList.add("test-li");
span.classList.add("quest quote__main");
span.textContent = question.text;
li.appenChild(span);
list.appendChild(li)
for (let answer in question.answers) {
let input = document.createElement("input");
input.setAttribute("type", "radio");
input.setAttribute("name", `i${index}`);
input.setAttribute("id", "test-radio");
input.value = answer;
input.textContent = question.answers[answer];
input.addEventListener("click", event => {
engine(i, event.target.value);
}, false);
list.appendChild(input);
}
}
};
createList(list, questions);
<div class="clicker">
<button class="prev">-</button>
<span class="counter"></span>
<button class="next">+</button>
</div>
const counter = document.querySelector(".counter");
let count = parseInt(localStorage.getItem("count") || 0);
counter.textContent = count;
document.querySelector(".clicker").addEventListener("click", event => {
if (event.target.closest(".prev")) {
localStorage.setItem("count", --count);
counter.textContent = localStorage.getItem("count");
}
if (event.target.closest(".next")) {
localStorage.setItem("count", ++count);
counter.textContent = localStorage.getItem("count");
}
}, false);