document.querySelectorAll('.faq_item_title_inner').forEach(el => {
el.addEventListener('click', function() {
let slide = this.closest('.faq_item').querySelector('.faq_item_body');
slide.style.display = (slide.offsetWidth > 0 || slide.offsetHeight > 0) ? 'none' : 'block';
this.classList.toggle('open');
})
});
$('.radio-blue').not($(this).closest('.radio-blue')).add($('.all_pvz')).hide();
$('.header__link-category').on('mouseover', function() {
setTimeout(() => {
$(this).addClass('hover-active');
}, 1000);
});
$('.coll').on('click', function () {
$('.zind').removeClass('zind');
$(this).parent('div').addClass('zind');
})
let date1 = new Date('2020-05-08 12:51').getTime();
let date2 = new Date('2020-05-08 12:52').getTime();
/* переводим timestamp в минуты */
date1 = Math.floor((date1 / 1000 / 60));
date2 = Math.floor((date2 / 1000 / 60));
/* сравниванием минуты */
if (date1 === date2) {
console.log('время в минутах совпадает');
} else {
console.log('время в минутах НЕ совпадает');
}
/* или через тернарный оператор:
(date1 === date2) ? 'время в минутах совпадает' : 'время в минутах НЕ совпадает';
*/
const date = el.querySelector('time').getAttribute('title');
console.log(date);
$('.item').click(function() {
$('.active').removeClass('active');
$(this).addClass('active');
});
<input type="text" class="text">
$('.text').on('input', function() {
$(this).val($(this).val().replace(/[A-Za-zА-Яа-яЁё]/, ''))
});
return
срабатывает для метода success
, а не для самой функции. Покажите как вы несколько раз вызываете AJAX-запрос, чтобы понять что к чему, потому что сам AJAX-запрос тут ни о чем не говорит.async function function_js_save() {
let status = await new Promise(resolve => {
$.ajax({
url: '../../modules/ajax.php',
type: "POST",
data: ({
check_region_and_pult_number: ''
}),
dataType: "html",
success: function (status) {
resolve(status);
}
});
});
if (status.length > '2') {
status_workings = status.length;
alert_error(status);
return;
}
console.log('next');
}
inputs
это коллекция узлов (элементов) и у этой коллекции нет свойства .checked
. Оно есть только у каждого отдельного элемента в этой коллекции. Соответственно вам нужно их просто отфильтровать:const btn = document.getElementById('btn'),
inputs = document.querySelectorAll('input')
btn.addEventListener('click', function(){
event.preventDefault();
let checkedInputs = [...inputs].filter(n => n.checked);
console.log(checkedInputs);
})
success: function (res) {
/* здесь весь остальной код для работы с данными полученными в запросе */
}});
function customFunc(res) {
/* здесь весь остальной код для работы с данными полученными в запросе */
}
$.ajax({ // получаем массив вопросов
.....
success: customFunc
});
(async () => {
let array = await new Promise(resolve => {
$.ajax({ // получаем массив вопросов
type: "POST",
url: '/site/questions',
cache: false,
dataType: 'json',
global: false,
success: function (res) {
return resolve(res);
}
});
});
console.log(array); /* вот сейчас в переменной будет то, что вам нужно */
})();
const arr = ['zero', 'one', 'two', '', 'four', '', '', 'seven'];
let obj = {};
arr.forEach((n, i) => obj[i] = n);
for (let k in obj) {
if (!obj[k]) delete obj[k];
}
console.log(obj); // { 0: "zero", 1: "one", 2: "two", 4: "four", 7: "seven" }
childNodes
это не только дочерние тэги внутри элемента. Это и текст внутри элемента. В вашем случае каждый перенос строки это отдельная нода. Если сделать так, то будет как вы хотите:<div id='row'><div class='col-tm'>apple</div><div class='col-tm'>banana</div><div class='col-tm'>cranberry</div></div>
HTMLCollection
есть метод children
и тогда текст без тэгов внутри элемента учитываться не будет:var elem_apple = first_column.children[0];
.next('селектор')
.parent().find('селектор')
function getmessage() {
document.getElementById('block').insertAdjacentHTML('afterbegin', arr[count]);
}