Возможно, XHTML блокирует метод jQuery .append?

0

Я пытался улучшить свой сайт, добавляя части, которые будут присутствовать на каждой странице, и автоматически обновлять, когда я обновляю файл: я знаю, что есть много методов, но я все еще новичок, и я решил использовать jQuery. Проблема в том, что я использую <table> потому что у меня есть div div, который должен быть на стороне того, что в HTML. Я добавил заголовок, открывающие теги таблицы (включая tr и td) и их содержимое, и добавил закрытие тегов. HTML содержал все, что стояло у бара: и это так! Но это под панелью: я не совсем уверен, что произошло: я думал, что XHTML автоматически закрывал теги перед добавлением, так как в HTML он их не нашел... Я включу код, который мы заинтересовался

$(document).ready(function(){
    $('body').prepend('<table><tr><td>Text</td><td>');
    $('body').append('</td></tr></table>');
})

Это код jQuery, и я могу убедиться, что у вас есть правильные ссылки на скрипт и jQuery (+UI), которые работают. Теперь все должно быть просто: вы просто добавляете свой HTML-код в файл.html... Но нет!

<html>
   <head>
      <title>Cheese</title>
      <script to my script and jQuery library/>
   </head>
   <body>
      <!-- here should go what I prepended, and it does,
           but closes the <table></td></tr> tags aswell -->
      This should be to the side of 'Text' and comprehended in the table, in a td
      <!-- here should go what I appended,
           but strangely it doesn't -->
   </body>
</html>

Я сделал что-то не так? если вы не видите ничего плохого здесь, я пришлю вам весь код, спасибо вам заранее!

  • 0
    Аналогично stackoverflow.com/questions/12948853/…
  • 0
    Подождите, вы пытаетесь поместить содержимое тела страницы в ячейку таблицы?
Показать ещё 3 комментария
Теги:
append
xhtml
prepend

1 ответ

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

Вы не можете добавлять/добавлять/вставлять теги в DOM только полные элементы html. Когда вы передаете частичные фрагменты html для вставки в DOM, браузер (или, может быть, jquery) делает все возможное с ним.
То, что вам нужно сделать, это построить таблицу с представленным контентом и вставить ее в дом

$(document).ready(function(){
    $('body').html('<table><tr><td>Text</td><td>'+$('body').html()+'</td></tr></table>');
})

http://jsfiddle.net/yY92d/

  • 0
    извините, Муса ... на самом деле он отображает то, что я хочу, на боковой панели ... но что, если у меня есть не только text , но и pre , input s и другие вещи? Извините за мою нелюбовь ... но я начал изучать jQuery 3 дня назад и много путешествовал ... Я все еще учусь ... что я должен использовать вместо .text() ? Это то, что дает мне ссылка : все эти @ на самом деле являются предварительными, а текст, следующий за ним, представляет собой различные элементы div, которые я использовал для создания вкладок для входов с использованием jQuery ... Большое спасибо в любом случае
  • 0
    Затем используйте .html()
Показать ещё 2 комментария

Ещё вопросы

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