Доброго времени суток друзья! Есть функция позволяющая отлавливать правый клик мыши по элементу, она берет элемент по которому был осуществлен клик, находит в следующем после него контейнер span и с помощью внутренней функции find ищет div с классом hadden_menu_dao
и меняет его на hadden_menu_dao_show.
Вопрос: как заставить интерпретатор заменить класс у блока найденного с помощью find? т.к. в примере при замене класса в консоль приходит undefined.
$(function() {
$("ul").on("contextmenu", "a.a", function(event) {
event.preventDefault();
// получаем текущий элемент по которому был проезведен клик
var target = event.target;
// console.log(target);
var link_html = target.innerHTML;
// ищем div с классом у рядом стоящего элемента
var asd = $(this).next('.redact').find($(".hadden_menu_dao"));
// console.log(asd);
// осуществляем проверку на наличие класса (заменяем класс при его наличии)
if($('div').is('.hadden_menu_dao_show')) {
var articles = document.getElementsByClassName('hadden_menu_dao_show');
articles.classList.remove("hadden_menu_dao_show");
articles.classList.add("hadden_menu_dao");
};
// удаление класса "hadden_menu_dao"
asd.classList.remove("hadden_menu_dao");
// добавление элементу класс "hadden_menu_dao_show"
asd.classList.add("hadden_menu_dao_show");
return false;
})
});
<ul id="id" class="display_set">
<li>
<a href="№" title="№" class="a">link1</a>
<span class="redact" id="1">
<div class="hadden_menu_dao">
</div>
</span>
</li>
<li>
<a href="№" title="№" class="a">link2</a>
<span class="redact" id="2">
<div class="hadden_menu_dao">
</div>
</span>
</li>
<li>
<a href="№" title="№" class="a">link3</a>
<span class="redact" id="3">
<div class="hadden_menu_dao">
</div>
</span>
</li>
<li>
<a href="№" title="№" class="a">link4</a>
<span class="redact" id="4">
<div class="hadden_menu_dao">
</div>
</span>
</li>
</ul>