Я читаю строку таблицы с одной страницы, а затем пытаюсь поместить содержимое ячейки в различные элементы на второй странице. У меня есть такая работа, но я бы хотел (а) сделать это правильно и (б) избавиться от лишних тегов, которые я взял. Так что мой метод ....jQuery .load() - получение содержимого td из DOM
$(document).ready(function() {
$(function(){
$('#result_row').load('schedule.html #schedule_list tr:eq(1)',function(){
var date = $('td:eq(0)',this);
$('#date').html(date);
var title = $('td:eq(0)',this);
$('#title').html(title);
var speaker = $('td:eq(0)',this);
$('#speaker').html(speaker);
});
});
});
, а затем у меня есть <div class= "upcoming"> Next Talk: <span id="speaker"></span> - <span id="title"></span> (<span id="date"></span>) </div> <span id="result_row"></span>
Так это работает в точку, но у меня есть четкое ощущение, что я делаю это нерационально (или неправильно), как я «Новичок в jQuery. В частности, наличие пустого <span id="result_row">
кажется неправильным. Что еще более важно, он также импортирует теги <td>
в элементы <span>
, чего я бы хотел избежать. Все попытки innerHTML не удалось (например, var date = $('td:eq(0)',this).innerHTML;
Спасибо за любую помощь,
Ник
EDIT: Так что теперь я могу либо сделать это три раза
var date = $('td:eq(0)',this).text();
$('#date').text(date);
, чтобы избежать попадания <td>
. Или я могу это сделать
var data = $.find('td',this);
$('#date').html(data[0]);
$('#speaker').html(data[1]);
$('#title').html(data[2]);
, который, как мне кажется, выглядит намного яснее (и я предполагаю, что последние три строки могут быть выполнены в одном). Печально .text(), похоже, не работает, поэтому я застрял в <td>
.
Что это за 3 раза? '$ ('td: eq (0)', this);' – Eli