Как удалить содержимое абзаца с помощью JavaScript

0

У меня есть абзац, который я хотел бы удалить.

document.getElementById(id).innerHTML = "";

похоже, не работает. У кого-то есть лучшее решение?

Вот пример

<!DOCTYPE html>
<html>
<head>
<script>
document.getElementById("p").innerHTML = "";
</script>
</head>
<body>
<p id="p">
words
</p>
</body>
</html>

но слова в абзаце не удаляются. Заранее благодарим любого, кто может помочь.

  • 1
    Определить не должно работать. В настоящее время у вас довольно дурацкое описание проблемы.
  • 0
    Покажите HTML для абзаца, о котором вы говорите.
Показать ещё 6 комментариев
Теги:
getelementbyid

5 ответов

4
Лучший ответ
<!DOCTYPE html>
<html>
<head>
<!-- here the p tag doesn't exist yet -->
<script>
document.getElementById("p").innerHTML = "";
</script>
</head>
<body>
<p id="p">
words
</p>

<!-- however here it does exist -->
</body>
</html>

как это исправить?

// only use this if you can't move your javascript at the bottom
window.onload = function() {
    document.getElementById("p").innerHTML = "";
}

или переместите свой javascript в конце страницы (это предпочтительный вариант, так как javascript всегда должен быть загружен в конце страницы)

<!DOCTYPE html>
<html>
<head>
<!-- here the p tag doesn't exist yet -->

</head>
<body>
<p id="p">
words
</p>

<!-- however here it does exist -->
<script>
document.getElementById("p").innerHTML = "";
</script>
</body>
</html>
  • 0
    (IMO) в большинстве случаев разумнее просто поместить его в конец тела, тогда вы выполняете в естественном порядке и ничего не ждете . (просто примечание)
  • 0
    Первоначально я отказался от этого, потому что ваше первое решение довольно тупое. Может быть, добавить отказ от ответственности, чтобы люди не думали, что они должны использовать его?
Показать ещё 1 комментарий
0

function funboi()
{
  document.getElementById("p").innerHTML = "";
}
    <!-- Just add a button. Works fine-->
    <p id="p">
    words are amazing
    </p>
    <button onclick="funboi()">click to delete</button>
0

Сделайте это функцией и добавьте с событием onload для тела, которое оно должно работать:

<script>
    function empty(){
    document.getElementById("p").innerHTML = "";
    }
</script>
<body onload='empty()'>
<p id="p">
words
</p>
</body>
0

Я часто использую jQuery для этой функции, но, поскольку вы ищете чистый синтаксис javascript. вы захотите использовать этот код:

document.getElementById("p").remove();
0

Имейте в виду, что вы используете что-то, что не в спецификации W3C... (удаление с помощью innerHTML = '')

var elem = document.getElementById(id);
if (!elem) {
    console.log("No element for id:"+id);
} else {
    elem.innerHTML="";
    console.log("Should work");
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню