удалить один символ между 2 делениями

0

У меня неприятный маленький персонаж, застрявший между двумя div:

<div id="someID1">stuff</div>x<div id="someID2">more stuff</div>

Есть ли способ получить это "x" между этими divs? Это временное исправление до постоянного исправления может вступить в силу :-(

  • 2
    Что мешает вам просто отредактировать файл HTML и удалить символ? Это сгенерировано каким-то языком в сети (PHP, JSP, ASP, Python и т. Д.), Покажите этот код тоже.
  • 0
    Я уже сделал это, но мне нужно быстрое решение, пока не произойдут изменения на стороне сервера, это долгая история :-(
Теги:
dom

2 ответа

6
Лучший ответ

Если вы хотите сделать это через JS в качестве быстрого исправления, попробуйте:

document.getElementById('someID1').nextSibling.nodeValue= '';

или

$('#someID1')[0].nextSibling.nodeValue= '';

демонстрация

  • 1
    Установка для nodeValue null может работать, но предполагается, что это строка, поэтому '' (пустая строка) кажется более подходящей.
  • 0
    @RobG Я думаю, что установка значения узла на ноль не должно иметь никаких проблем.
Показать ещё 3 комментария
3

Решение PSL в порядке, но может быть немного конкретным. Возможно, вам лучше протестировать узел и удалить все текстовые узлы до следующего элемента, например:

function clearSiblingTextNodes(id) {
  var el = document.getElementById(id);

  while (el.nextSibling && el.nextSibling.nodeType == 3) {
    el.parentNode.removeChild(el.nextSibling);
  }
}
  • 1
    Хм. Сначала я думал об этом, но потом OP хотел просто быстрое исправление (так как он уже исправил это на сервере), поэтому не стал проверять тип узла ... :)

Ещё вопросы

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