На самом деле ваш метод работает, но ваш fout открыт в режиме добавления. Вот почему вы можете писать только в конце. Вот рабочий пример.
# creating a file for reference
ff = open("infiletest","w")
pos_file = {}
for i in range(3):
pos_file[i] = ff.tell()
ff.write("%s 21/1/1983\n" % i)
ff.close()
# modify the second line
ff = open("infiletest","r+")
ff.seek(pos_file[2])
ff.write("%s 00/0/0000\n" % 2)
ff.close()
Обратите внимание, что вы перезаписываете содержимое файла.
Это создает таблицу и добавляет ее к #ufo
blockquote>$('#ufo').append("<table id='ufo-table'>")
Это создает строку таблицы и добавляет ее к #ufo
[ 111] blockquote>Если вы хотите, чтобы строка таблицы находилась внутри таблицы, вы должны добавить ее в таблицу , а не в div.
blockquote>$('#ufo').append("</table>")
Это ничего не делает. jQuery не будет создавать элемент из конечного тега.
Несмотря на абстракцию. Вы работаете с элементами DOM, а не с необработанным HTML. Вы не можете добавить начальный тег к элементу, только к другому элементу.
Я думаю, что в вашем цикле for вы $("#ufo")
, вместо этого вы должны использовать $("#ufo-table")
, делая это, вы добавляете строку таблицы и данные таблицы внутри таблицы, а затем добавляете таблицу внутрь $("#ufo")
.
Вместо добавления несколько раз, вы должны объявить переменную и добавить к ней html. закончив добавление html, вы наконец должны добавить строку в тег div.
var content="<table id='ufo-table'>";
content+="<tr><th>Data 1</th><th>Data 2</th><th>Data 3</th></tr>";
for (var i = 0; i < 10; i++) {
content+="<tr><td>" + i + "</td><td>" + response[i].spaceships +
"</td><td>" + response[i].planets + "</td></tr>";
}
content+="</table>";
$('#ufo').append(content);