У меня проблема с тем, что я не могу удалить меню, которое было динамически создано в моем расширении.Я могу получить объект меню с помощью document.getElementById
или используя jquery, как показано ниже.По сути, пользователь щелкает пункт меню «удалить», и он должен удалить родительское меню (есть 2 родителя, потому что оно переходит в меню> всплывающее окно> пункт меню (нажал)).1004 * за то, что я хочу удалить.removeObj.remove();
вылетает расширение.Последняя строка, похоже, ничего не делает (за исключением того, что если щелкнуть удалить во второй раз, она больше не может найти id
), однако она все еще видна в пользовательском интерфейсе.
Код:
var jObj = $(menuObject);
var removeObj = $(jObj).parent().parent();
var id = removeObj.attr('id');
alert(id);
//removeObj.remove();
$(removeObj).parent().removeChild(document.getElementById(id));
это не связано с jquery.я написал это, и это полностью отключает меню правой кнопки мыши после выполнения (но возвращает правильное местоположение идентификатора в случае if)
var mainMenu = document.getElementById('rclickMenu_MenuPopupContainer');
var toRemove = document.getElementById("rclickMenu_"+main);
for(var i=0; i < mainMenu.children.length; i++){
if(mainMenu.children[i].getAttribute('id') == toRemove.getAttribute('id')){
alert(toRemove.getAttribute('id'));
//mainMenu.removeItemAt(i);
mainMenu.removeChild(toRemove);
}
}