1. JavaScript / Говнокод #3648

    +166

    1. 1
    2. 2
    3. 3
    function remove(e) {
    e.parentNode.innerHTML = e.parentNode.innerHTML.replace(e.outerHTML, '');
    }

    Кроссбраузерное удаление элемента из DOM.

    Запостил: eval, 06 Июля 2010

    Комментарии (8) RSS

    • Глупее, наверное, и не придумать :)
      Ответить
      • Ну почему же. Можно ещё определять индекс элемента таким образом:

        for (var i = 0; i < e.parentNode.childNodes.length; i++) {
        if (e.parentNode.childNodes[i] == e) n = i;
        }

        И потом, зная номер элемента среди других чилдов, вырезать его регэкспами из innerHTML'-а парента. Ну как?
        Ответить
        • Ну для этого нужно более продвинутое знание DOM и регулярок ))
          Ответить
      • + для оптимизации скорости желательно добавить бесконечный цикл.
        Ответить
    • и не такое уж кроссбраузерное
      Ответить
    • <div>
        <p></p>
        <p></p>
      </div>


      e - второй p
      Ответить

    Добавить комментарий