Вставка нескольких строк в таблицу в tr
Дорый день.
Есть задача. Дана таблица, в который при нажатии на некоторую строку должно подгружаться еще несколько строк (или одна). Как это реализовано: <table><tr><td colspan = 2>LINK</td><tr><tr id="load"></tr></table> При нажатии на LINK срабатывает такой скрипт $("#load").html(data) Так вот. Если data = "<td>1</td><td>2</td>"тогда все нормально. А если data = "<td>1</td><td>2</td></tr><tr><td>3</td><td>4</td>"то вообще ничего не происходит. Запрос срабатывает, ответ получается, но в строку ничего не вставляется. Как будто комбинация "</tr><tr>" вводит браузер в ступор и он не может разорвать строку и добавить еще одну. Может кто-то сталкивался? |
Osof,
так это вы не строку рвёте а уже таблицу на части |
Почему таблицу? </table> нигде не вставляется. Если я в исходный код добавляю руками <td>1</td><td>2</td></tr><tr><td>3</td><td>4</td>, то все ок, добавляется две строки. А вот если аяксом - ничего вообще не добавляется.
|
Ошибка в html. Перед tr с ид должен идти закрывающий тэг /tr
|
Цитата:
Конечно там вот так <table><tr><td colspan = 2>LINK</td></tr><tr id="load"></tr></table> |
:write: лучше бы без извратов но если хочется то можно ... тут далее типа код для любителей погорячее
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> #load{ background-color: #00FF00; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function(){ data = "<td>1</td><td>2</td></tr><tr><td>3</td><td>4</td>"; //data = "<td>1</td><td>2</td>" $("#load").html(function() { data = $("<tr>"+data+"<\/tr>"); var i = this.rowIndex, parent = this.parentNode; $.each(data,function(indx, tr){ if(indx) { var newTr = parent.insertRow(++i); newTr.innerHTML = tr.innerHTML } }); return data.html() }) }) </script> </head> <body> <table><tr><td colspan = 2>LINK</td></tr><tr id="load"></tr></table> </body> </html> |
Цитата:
|
Osof,
смотрите пост 6 снова |
Цитата:
Благодарен. А чисто для общего развития. Почему <tr>СЮДА</tr> нельзя вставить <td></td></tr><tr><td></td>? Это баг или фича? |
Osof,
а как бедному парсеру догадаться что вы ему не хрень подсовываите? которую надо ещё разбить на части и после тега вставить а он умеет тока внутрь и то что первое сможет найти в том что ему дадут то и вставит. Цитата:
|
Часовой пояс GMT +3, время: 20:13. |