document.getElementsByClassName('os-message-success js-client-payment-form-block').innerHTML
getElementsByClassName возвращает не один элемент, а коллекцию. Так что прежде чем пытаться получать свойства элемента, надо его из коллекции извлечь - по индексу.innerHTML возвращает всю внутреннюю разметку элемента. Что вы с ней собирались делать? Было бы разумнее добраться до вложенного элемента strong - и текст из него достать можно, и новый элемент вставить рядом с его соседом не проблема:const strong = document.querySelector('.os-message-success br + strong');
const { nextElementSibling: br, textContent: text } = strong;
const sum = text.split(': ')[1].replace(/[\d+.]+/, m => (m * 0.975).toFixed(3));
br.insertAdjacentHTML('afterend', `<strong>К зачислению: ${sum}</strong>`);
position = anchor.position().top;position = anchor.position().top + $('#container').scrollTop();
:visible. Вот с его помощью и отбирайте следующее изображение, например так.:visible лучше использовать его (в примере по ссылке выше можно просто заменить одно на другое).
const buttonSelector = 'button';
const getButtons = () => document.querySelectorAll(buttonSelector);document.addEventListener('click', ({ target: t }) => {
if (t.closest(buttonSelector)) {
const buttons = getButtons();
const html = Array.from(buttons, n => n.innerHTML);
for (const [ i, n ] of buttons.entries()) {
n.innerHTML = html[~-(i || html.length)];
}
}
});const buttons = getButtons();
const onClick = () =>
buttons.forEach(function(n, i, a) {
n.append(...(++i < a.length ? a[i].childNodes : this));
}, [...buttons[0].childNodes]);
buttons.forEach(n => n.addEventListener('click', onClick));
const el = document.querySelector('.line');.el.removeChild(el.childNodes[2]);
// или
el.querySelector('input').nextSibling.remove();
// или
el.lastChild.replaceWith();
methods: {
group(item) {
return item && Object.entries(this.groups).find(([ k, v ]) => v.includes(item.group))[0];
},computed: {
selectedGroup() {
return this.group([].concat(...this.data.map(n => n.items)).find(n => n.checked));
},<ul v-for="{ items } in data">
<li v-for="item in items">
<label>
<input
type="checkbox"
v-model="item.checked"
:disabled="selectedGroup && selectedGroup !== group(item)"
>
{{ item.name }} ({{ group(item) }})
</label>
</li>
</ul>
SELECT table_name
FROM information_schema.columns
WHERE column_name = 'type_vendor'
const $headers = $('.bf-attr-group-header');
$headers.each(i => $headers
.eq(i)
.nextUntil($headers.get(i + 1))
.wrapAll('<div class="wrapper">')
);document.querySelectorAll('.bf-attr-group-header').forEach((n, i, a) => {
const wrapper = document.createElement('div');
const elems = [];
for (let el = n; (el = el.nextElementSibling) && el !== a[i + 1]; elems.push(el)) ;
wrapper.append(...elems);
wrapper.classList.add('wrapper');
n.after(wrapper);
});
const buttons = document.querySelectorAll('кнопки ваши - вам и виднее, каким должен быть селектор');for (const n of buttons) {
let clicks = 0;
n.onclick = () => n.innerText = 'clicked: '.concat(++clicks);
}buttons.forEach(function(n) {
n.addEventListener('click', this);
}, ({ currentTarget: t }) => {
t.textContent = `clicked: ${t.dataset.clicks = -~t.dataset.clicks}`;
});
$('span').text((i, text) => {
return ~'+-'.indexOf(text.charAt()) ? text : `+${text}`;
});for (const n of document.getElementsByTagName('span')) {
n.innerText = '+'.slice('+-'.includes(n.innerText[0])) + n.innerText;
}document.querySelectorAll('span').forEach(n => {
n.textContent = n.textContent.replace(/^(?![+-])/, '+');
});
function getUrls($parts, $acc = '') {
$urls = [];
if (count($parts)) {
$part = array_shift($parts);
if (!is_array($part)) {
$part = [ $part ];
}
foreach ($part as $p) {
array_push($urls, ...getUrls($parts, ($acc ? $acc.'/' : '').$p));
}
} else {
$urls[] = $acc;
}
return $urls;
}
$urls = getUrls($urlFragments);
data: () => ({
mainCategories: [
{ merchantId: '1', checked: true },
{ merchantId: '2', checked: true },
...
],
}),
computed: {
checkedCategories() {
return this.mainCategories.filter(n => n.checked).map(n => n.merchantId);
},
},<li v-for="n in mainCategories">
<label>
<input type="checkbox" v-model="n.checked">
{{ n.merchantId }}
</label>
</li>created() {
this.checkedCategories = this.mainCategories.map(n => n.merchantId);
},
data: () => ({
items: [
{ name: 'PHOTOSHOP', val: 88, color: 'red' },
{ name: 'ILLUSTRATOR', val: 92, color: 'green' },
{ name: 'SKETCH', val: 90, color: 'orange' },
{ name: 'AFFTER EFFECTS', val: 98, color: 'blue' },
],
}),border-bottom например) у элемента списка:methods: {
liText: item => `${item.name} ${item.val}%`,
liStyle: item => ({
'border-bottom': `3px solid ${item.color}`,
width: `${item.val}%`,
}),
},<ul>
<li
v-for="n in items"
v-text="liText(n)"
:style="liStyle(n)"
></li>
</ul>
[...new Set(arr)].Object.values(arr.reduce((acc, n) => (acc[n] = n, acc), {}))
// или
Array.from(new Map(arr.map(n => [ n, n ])).values())
// или
arr.filter(function(n) {
return !(this[n] = this.hasOwnProperty(n));
}, {})
// или
arr.filter(((picked, n) => !picked.set(n, picked.has(n)).get(n)).bind(null, new Map))
// или
arr.filter((n, i, a) => i === a.indexOf(n))
// или
arr.reduce((acc, n) => (acc.includes(n) || acc.push(n), acc), [])