2013-06-04 3 views
-1

Я пытаюсь удалить закрывающий тег после того, как я добавлю некоторый html. Он добавляет закрывающий тег, хотя я не указываю закрывающий тег. Почему это?Удаление таблицы закрытия таблицы

Сначала у меня есть переменная.

var tableCode = '<table class=prodDescTable border=1 cellSpacing=0>'; 

Я хочу добавить этот код перед некоторыми строками таблицы, и я получу html ниже.

<table class="prodDescTable" border="1" cellspacing="0"></table> <tbody> <tr> <th style="BORDER-LEFT: 0px">Product Code Photo</th> <th>Specs</th> 

Он автоматически добавляет тег закрывающего стола, когда я добавляю свой html. Как удалить тег закрывающей таблицы и поместить его в конец?

EDIT:

Вот мой код перед именем, что я использовал

$(table).prepend(tableCode); 
+1

Можете ли вы дать более подробную информацию, это немного ООН ясно –

+1

Что ваш код для добавления HTML? –

+1

jQuery создаст новый узел, который будет включать закрывающий тег (действительный узел). Отправьте свой код JS слишком – jammykam

ответ

3

JQuery не позволяет предварять "HTML". Он позволяет вам добавлять DOM-узлы, у него просто есть API, который позволяет создавать их, передавая HTML.

Любой HTML-код, который вы передаете, будет преобразован в полные элементы.

Вам необходимо работать с деревом узлов, а не с фрагментами HTML.

т.е.

var table = jQuery('<table>'); 
var row = jQuery('<tr>'); 
var cell = jQuery('<td>'); 
row.append(cell); 
table.append(row); 
container.append(table); 

Кроме того, построить все свои HTML в строке перед добавлением его.

var html = '<table>'; 
html += '<tr>'; 
html += '<td>'; 
html += '</td>'; 
html += '</tr>'; 
html += '</table>'; 
container.append(html); 
+0

О, это имеет смысл тогда. – wowzuzz

+0

@wowzuzz Возможно, вы сможете добавить существующие строки в таблицу, созданную «на лету», с некоторыми манипуляциями с JS. –

+2

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

0

Вы можете использовать JQuery для создания таблицы, а затем добавить заполненную таблицу в йот

Таким образом, вы можете иметь

var newTable = $("<table>"); 
var newRow = $("<tr>"); 
var newCell = $("<td>") 
$(newCell).append("<div>Hello World!</div>"); 
$(newRow).append(newCell); 
$(newTable).append(newRow); 

Затем добавить эту таблицу в йот

0

Вероятно, вы делаете что-то вроде этого (это автоматически добавит </table>) -

$('#someDivID').prepend(tableCode); 

Вы можете вставить содержимое в таблицу, как это -

var htm = '<tbody> <tr> <th style="BORDER-LEFT: 0px">Product Code Photo</th> <th>Specs</th>'; 
$('#someDivID').prepend($(tableCode).append(htm)); 
Смежные вопросы