_
и элемент не находится.projectPath[projectName].url
- .replace(new RegExp(`\\b${ lastTime }\\b`)
+ .replaceAll(new RegExp(`\\b${ lastTime }\\b`, `g`)
function dataDebug($data, $flag = false)
{
echo '<div class="debug-entry">';
echo '<pre>';
if (!$flag) {
print_r($data);
} else {
var_dump($data);
}
echo '</pre>';
echo '</div>';
echo <<<JS
<script>
if (!window.debug_entries_moved) {
window.debug_entries_moved = true;
const $container = document.createElement(`div`);
$container.classList.add(`mc__debugger`);
[...document.querySelectorAll(`.debug-entry`)].forEach(($entry) => {
$container.appendChild($entry);
});
document.body.appendChild($container);
}
</script>
JS;
}
span
один раз при запуске скрипта и туда попадает первый span
первого div
.div.addEventListener('click', function(e) {
let span = this.querySelector('span');
set.add(this.textContent);
let arr = [...set];
el1.textContent = arr.join(', ');
sum += +span.textContent;
console.log(span.textContent);
el2.textContent = sum;
})
Ведь мы создаем новый li при клике на btn, и он попадает в DOMНу да, попадает. А чтобы что-то с ним делать, нужно навесить обработчик события. Совершенно непонятно, что вас в этом процессе удивляет.
<ol />
) и тогда навешивать отдельные обработчики на создаваемые элементы не придётся. if (files[0].size > 150) {
setError('file', { type: 'custom', message: 'Недопустимый размер' });
}
...
setStep(2)
- indexToHeaderList = String(headerArr[choosenElem]);
+ indexToHeaderList = headerArr[choosenElem].innerText;
оператором typeof - пишет что это строкаНу так вы же по-любому на typeof проверяли после того как сами руками к строке привели?
let runWithRetry = async (func, tries = 5) => {
let attempt = 1;
while (attempt <= tries) {
try {
return await func();
} catch (error) {
console.log(`Attempt #${attempt} failed: ${error}`);
attempt++;
}
}
throw new Error(`Failed after ${tries} tries`);
};
try {
let busyWork = () => new Promise((resolve, reject) => {
setTimeout(() => (Math.random() > 0.75 ? resolve(Math.random()) : reject()), 1000);
});
let result = await runWithRetry(busyWork, 5);
console.log(result);
} catch (error) {
console.error(error);
}
.nav ul li a.active {
text-decoration: underline;
text-decoration-thickness: 2px;
text-underline-offset: .1em;
}
const $links = document.querySelectorAll('.nav a');
Array.from($links).forEach(($link) => {
$link.addEventListener('click', (event) => {
document.querySelector('.nav a.active')?.classList.remove('active');
event.target.classList.add('active');
})
});
history.pushState({}, '', '/www?' + $(this).serialize());
https://developer.mozilla.org/en-US/docs/Web/API/H...