todoList.forEach(function(element) {
document.getElementById('out').innerHTML += '<p>'+element+'</p>';
});
document.getElementById('out').innerHTML = todoList.map(n => `<p>${n}</p>`).join('');
const div = document.createElement('div');
div.innerHTML = html;
div.querySelectorAll('a[href*="/test/"]').forEach(n => n.outerHTML = '');
html = div.innerHTML;
const { body } = new DOMParser().parseFromString(html, 'text/html');
body.querySelectorAll('a[href*="/test/"]').forEach(n => n.remove());
html = body.innerHTML;
const fragment = document.createRange().createContextualFragment(html);
fragment.querySelectorAll('a[href*="/test/"]').forEach(n => n.parentNode.removeChild(n));
html = Array.from(fragment.childNodes, n => n.outerHTML || n.nodeValue).join('');
function sort(desc, attr) {
const select = document.querySelector('#search-sort-field');
select.append(...Array
.from(select.children, n => [ n, n.getAttribute(attr) * (desc ? 1 : -1) ])
.sort((a, b) => a[1] - b[1])
.map(n => n[0])
);
}
const tbody = document.querySelector('#table tbody');
// или
const [ tbody ] = document.getElementById('table').tBodies;
tbody.innerHTML = arr
.map(n => `
<tr>
<td><a href="${n.link}">${n.city}</a></td>
<td>${n.country}</td>
</tr>`)
.join('');
for (const n of arr) {
const tr = tbody.insertRow();
const a = document.createElement('a');
a.href = n.link;
a.text = n.city;
tr.insertCell().append(a);
tr.insertCell().textContent = n.country;
}
const dialog = new DOMParser().parseFromString(`
<div id="add-note__quick">
<i id="close">×</i>
<input type="text" class="field" placeholder="Событие">
<input type="text" class="field" placeholder="День, месяц, год">
<input type="text" class="field" placeholder="Участники">
<button>Создать</button>
</div>
`, 'text/html').body.querySelector('#add-note__quick');
dialog.querySelector('#close').addEventListener('click', () => {
dialog.parentNode.removeChild(dialog);
});
let selectedTd = null;
document.querySelector('#calendar-body').addEventListener('click', ({ target }) => {
if (target.tagName !== 'TH') {
return;
}
if (selectedTd) {
selectedTd.classList.remove('note');
}
if (selectedTd === target) {
target.removeChild(dialog);
selectedTd = null;
} else {
dialog.querySelectorAll('input').forEach(n => n.value = '');
target.appendChild(dialog);
target.classList.add('note');
selectedTd = target;
}
});
В консоле выдает Uncaught TypeError: next is not a function
Как выделить при помощи класса текущее число, не выходит
добавляю...
tbl.innerHTML = '';
перед циклом.currDay.getMonth() <= month
. Представьте, что следующий месяц - январь, год кончается. Что будет с вашим условием? Правильно, оно останется истинным. Навсегда. Лучше сделать так: проверяете равенство, без "меньше", а while заменяете на do-while - тогда числа предыдущего месяца, формально не подходящие под условие, всё равно будут обработаны, так как тело цикла выполняется до проверки условия.str.replace(/^\S+ /, '')
// или
str.match(/(?<= ).+/)[0]
// или
str.split(' ').slice(1).join(' ')
// или
str.slice(str.indexOf(' ') + 1)
const elements = document.querySelectorAll('.restab');
const baseId = 'responsivetable';
const setId = (el, index) => el.id = `${baseId}${-~index}`;
// или
const setId = (el, index) => el.setAttribute('id', baseId + ++index);
// или
const setId = (el, index) => {
const id = document.createAttribute('id');
id.value = baseId.concat(index + 1);
el.attributes.setNamedItem(id);
};
elements.forEach(setId);
// или
for (const [ i, n ] of elements.entries()) {
setId(n, i);
}
// или
for (let i = 0; i < elements.length; i++) {
setId(elements[i], i);
}
// или
(function next(i, n = elements.item(i)) {
n && (setId(n, i), next(-~i));
})(0);
Basket.totalPrice.call(data)
. Но, повторюсь, это безумие. $('.reeder').click(function() {
const $box = $(this).closest('.box').toggleClass('none');
$box.parent().find('.box').not($box).addClass('none');
});
const $boxes = $('.box').on('click', '.reeder', e => {
$(e.delegateTarget).toggleClass('none');
$boxes.not(e.delegateTarget).addClass('none');
});
def printSinglyLinkedList(node):
if node != None:
printSinglyLinkedList(node['next'])
print(node['value'])
printSinglyLinkedList(d)
def reverseSinglyLinkedList(head):
prevNode = None
currNode = head
while currNode != None:
nextNode = currNode['next']
currNode['next'] = prevNode
prevNode = currNode
currNode = nextNode
return prevNode
function onlyOne(checkbox) {
for (const n of document.getElementsByName(checkbox.name)) {
n.checked = n === checkbox ? n.checked : false;
}
}
function onlyOne(checkbox) {
checkbox
.closest('.group')
.querySelectorAll('input[type="checkbox"]')
.forEach(n => n.checked = n.checked && n === checkbox);
}