Цикл через AJAX, вызываемый Jquery, который извлекает удаленный HTML, затем анализирует данные для определенных критериев и извлекает html tr.
Хорошо, для начала это мой первый пост, поэтому я прошу прощения изначально за любые ошибки "новичка", которые я могу сделать. Я постараюсь быть максимально подробным и выложу как можно лучше.
Что я делаю:
Создание приложения Chrome для внутреннего использования компанией.
Выпуск:
Разбор через Ajax-вызов, содержащий полные HTML-данные из загруженного Ajax-вызова:
К чему у меня нет доступа:
Сервер на основе PHP или MYSQL.
К чему у меня есть доступ:
Полные html-данные всех страниц, которые содержат данные, которые мне нужно пройти, а также отправку новых данных на сервер с помощью put и get.
Приложение уже настроено для разрешения доступа к междоменным данным, поэтому я не буду сталкиваться с проблемами с ajax и междоменной политикой. Все данные успешно извлекаются для страниц, которые мне нужно вытащить.
Что я использую: Jquery Javascript для вещей, которые могут или не могут быть поддержаны, или мое непонимание J Query, так как он довольно устойчив и все еще пытается понять, доступны ли другие API-интерфейсы.
Проблема:
Я могу загрузить данные AJAX с данными HTML мне нужно. Я перечислил, как выглядит HTML после того, как я использовал Jquery "найти", чтобы найти тело в html вызова, который я первоначально сделал с ajax, и что я отфильтровал до сих пор. У меня также есть его печать на consol.log(имя переменной) в консоли Chrome. Я перечислил свою цель для этих данных ниже кода. Я не беспокоюсь о кросс-браузерной совместимости, так как это будет приложение только для Chrome, и другие браузеры не будут использовать код.
<tbody>
<tr>
<td><strong>Header 1</strong></td>
<td><strong>Header 2</strong></td>
<td><strong>Header 3</strong></td>
<td><strong>Header 4</strong></td>
<td><strong>Header 5</strong></td>
<td><strong>Header 6</strong></td>
<td><strong>Header 7</strong></td>
</tr>
<tr >
<td>image location link</td>
<td>another link</td>
<td>Product</td>
<td>New</td>
<td></td>
<td>date</td>
<td></td>
<td>another link to an account</td>
</tr>
<tr>
<td>image location link</td>
<td>another link</td>
<td>Product2</td>
<td>New</td>
<td></td>
<td>date</td>
<td></td>
<td>another link to an account</td>
</tr>
<tr>
<td>image location link</td>
<td>another link</td>
<td>Product</td>
<td>old</td>
<td></td>
<td>date</td>
<td></td>
<td>another link to an account</td>
</tr>
</tbody>
Цель: у Tbody выше будет больше tr, чем в списке, но это пример того, что доступно. Мне нужно будет анализировать данные каждый раз и находить каждый tr с тд, которые содержат тот же тип продукта и тд, который имеет "Новый" в списке.
Я очень ценю ваши ребята, помогите в этом и с нетерпением ждем ваших ответов.
Что я пытался с помощью Jquery:
Попытка использовать содержит и каждый цикл для создания нового объекта данных. Вместо того, чтобы предоставлять какой-то ужасно написанный код, ха-ха, я хотел бы, чтобы кто-нибудь смог предоставить какой-нибудь отличный фреймворк-код, который поможет мне перейти на следующий уровень, если это возможно.
Заранее спасибо!
1 ответ
Таким образом, вы можете найти для нового или найти или старый и избавиться от старого. Тебе решать.
Вот еще одно обновление, которое предоставляет вторую таблицу. Это должно начать вас. В основном он пропускает первый "tr", так как это заголовок, и находит остальные, которые имеют New в 4 позиции. Ближайшие обходы по дому до первого родителя.
var data = $("#holder").html();
$("#newTable").append($(data).find("tr:eq(0)"));
$(data).find("tr:gt(0) :nth-child(4):contains('New')").closest('tr').each(function(index){
var row = "<tr>"+$(this).html()+"</tr>";
$("#newTable").append(row);
});
Что-то еще, что вы можете сделать, это установить HTML для всей этой таблицы и просто спрятать что-нибудь со старым.