Как я могу удалить определенные таблицы HTML? - PullRequest
0 голосов
/ 25 июля 2011

Я хочу получить каждую таблицу в документе, которая содержит только одну строку и одну ячейку.Затем эти таблицы должны быть полностью заменены содержимым этой отдельной ячейки.Например, приведенную ниже таблицу следует заменить следующим текстом:

<table>
  <tr>
    <td>
      Sample Text
    </td>
  </tr>
</table>

, преобразованным в: Образец текста

Может ли помочь любой из html-редакторов, таких как MS Expression Web или DreamWeaverили я должен написать программу?У меня есть некоторый опыт в C #.

1 Ответ

1 голос
/ 25 июля 2011

Эта команда найдет каждую таблицу с 1 строкой и 1 ячейкой и заменит ее внутренним текстом.

var allTables = document.getElementsByTagName("table");
for(a=0; a<allTables.length; a++){
var allRows = allTables[a].getElementsByTagName("tr");
var allCells = allRows[0].getElementsByTagName("td");
  if(allRows.length===1 && allCells.length===1){
    var tdInnards = document.createElement("div");
        tdInnards.appendChild(document.createTextNode(allCells[0].innerHTML));
    }
  }
  allTables[a].insertBefore(tdInnards);
  allTables[a].parentNode.removeChild(allTables[a]);
}

Однако это всего лишь JavaScript, поэтому он будет эстетически выполнять то, что вы хотите, но не будетна самом деле переписать страницу.Возможно, вы могли бы использовать что-то похожее для разбора текста и вывода результата.

...