function textNodesUnder(el){
var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_ELEMENT,null,false);
while(n=walk.nextNode()) a.push(n);
return a;
}
textNodesUnder(document.body)
document.querySelectorAll('.question__title-link')
.forEach(a => {
a.textContent = `HELLOO __ ${a.textContent} __ OLLEH`
})
Ajax изучать?
let response = await fetch(url);
if (response.ok) { // если HTTP-статус в диапазоне 200-299
// получаем тело ответа (см. про этот метод ниже)
let json = await response.json();
} else {
alert("Ошибка HTTP: " + response.status);
}
Обработчик клика висит на квадратике, который я выделил. Внутри него есть еще элемент div, в котором находится текст меню.
всё же придется хранить переменную где-то в памяти
const blockID = anchor.getAttribute('href').substr(1) // вот этого нет?
document.getElementById(blockID).scrollIntoView({
Тут просто рутина
inventory = {
"Gift-1": {
"id": 1,
"title": "Подарок 1",
"price": 1000,
"amount": 12
},
"Gift-2": {
"id": 2,
"title": "Подарок 2",
"price": 2000,
"amount": 1
},
"Gift-6": {
"id": 6,
"title": "Подарок 6",
"price": 6000,
"amount": 3
}
}
for(let key in inventory) {
inventory[key].description = 'Название предмета ' + inventory[key].title + '\n'
+ 'Количество предметов ' + inventory[key].amount
}
console.log(inventory)
str = "123 (123(123))"
pos = str.indexOf('(')
if(pos !== -1) {
console.log( str.slice(0, pos) + str.slice(pos + 1) )
}
[...document.querySelectorAll('script')]
.filter(s => s.textContent.includes(`'dataLayer`))
.map(s => s.textContent)[0]
[...document.querySelectorAll('script')].map(s => s.src).filter(Boolean)
https://www.googletagmanager.com/gtm.js?id=
с нужным айдишником? new Promise(function(e,t) {
if(window.ymaps) window.ymaps.ready(e);
else{window.ymapsReady=e }
....
new Promise(e => window.test = e)
test // ƒ () { [native code] }