Добавление элемента на чужой сайт
Добрый день. Мне необходимо добавить пункт в меню сайта. Код меню приведен на скрине.
![]() Я добавляю элемент так:
var list = document.getElementsByClassname('topbar-nav-main dt-compact_topbar');
var li = document.createElement('LI');
li.innerHTML = 'Новый элемент списка';
list.appendChild(li);
Но ничего не работает. Помогите пожалуйста. |
По-моему проблема в древнем getElementsByClassname
var ul = document.querySelector('ul.topbar-nav-main');
if(ul) {
var li = ul.appendChild(document.createElement('LI'));
li.textContent='Новый пункт меню';
}
|
Нет, там все равно будет много хтмля, так что лучше сразу его весь и засунуть
var
li='<li id='tvoe-id'><a href="your-link">Your Link</a></li>',
ul = document.querySelector('ul.topbar-nav-main');
if(ul) ul.insertAdjacentHTML('beforeend',li);
https://developer.mozilla.org/en-US/...rtAdjacentHTML |
Цитата:
var list = document.getElementsByClassName("topbar-nav-main dt-compact_topbar")[0];
|
Цитата:
|
SergeyAndSmart, а ссылку я специально дал предвосхищая твой вопрос. )))
|
А, в смысле после какого-то пункта? Это еще другой метод. https://developer.mozilla.org/en-US/...e/insertBefore
|
Цитата:
|
Есть.
ЗЫ проблему кстати назовите уже. |
Этот метод всегда возвращает массив и когда нужен один элемент всегда придется добавлять [0]. А зачем, если есть метод выдающий один элемент - .querySelector()? Еще вот такая шняга есть https://developer.mozilla.org/en/doc...lement/matches ибо задолбали точками и решетками.
|
| Часовой пояс GMT +3, время: 11:20. |