Для ответа на исходный вопрос - существуют различные способы сделать это, но следующее было бы самым простым.
, Если у Вас уже есть дескриптор к дочернему узлу, который Вы хотите удалить, т.е. у Вас есть переменная JavaScript, которая содержит ссылку на него:
myChildNode.parentNode.removeChild(myChildNode);
, Очевидно, если Вы не пользуетесь одной из многочисленных библиотек, которые уже делают это, Вы хотели бы создать функцию для абстракции этого:
function removeElement(node) {
node.parentNode.removeChild(node);
}
<час> РЕДАКТИРОВАНИЕ: Как был упомянут другими: если у Вас есть какие-либо обработчики событий, соединенные проводом до узла, Вы удаляете, Вы захотите удостовериться, что Вы разъединяете тех, прежде чем последняя ссылка на удаляемый узел выйдет из объема, чтобы плохие реализации интерпретатора JavaScript не пропускают память.
Функция eval ()
вычисляет выражение, но «5 + 5»
является строкой, а не выражением. Используйте parse ()
с text =
, чтобы преобразовать строку в выражение:
> eval(parse(text="5+5"))
[1] 10
> class("5+5")
[1] "character"
> class(parse(text="5+5"))
[1] "expression"
Вызов eval ()
вызывает множество вариантов поведения, некоторые - нет. сразу очевидно:
> class(eval(parse(text="5+5")))
[1] "numeric"
> class(eval(parse(text="gray")))
[1] "function"
> class(eval(parse(text="blue")))
Error in eval(expr, envir, enclos) : object 'blue' not found
См. также tryCatch .
Вы можете использовать функцию parse ()
для преобразования символов в выражение. Вам нужно указать, что ввод - это текст, потому что синтаксический анализ ожидает файл по умолчанию:
eval(parse(text="5+5"))