#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
Я пытаюсь динамически добавлять изображение в таблицу html с помощью jQuery, но я не понимаю, как найти таблицу 2,3 ..etc tr с помощью первого td для добавления изображения.
В моей структуре таблицы нет идентификатора или класса, как найти, но перед таблицей есть текст, как показано ниже.
<table width="100%" border="0" cellspacing="1" cellpadding="5">
<tbody>
<tr valign="top">
<td colspan="2"><b>Order Details:</b><br> <br>
<table width="100%" bgcolor="#EEEEEE">
<tbody>
<tr>
<td>
<b>Code</b>
</td>
<td>
<b>SKU</b>
</td>
<td>
<b>Quantity</b>
</td>
<td>
<b>Price</b>
</td>
<td>
<b>Grand Total</b>
</td>
</tr>
<tr>
<td>10172</td>
<td>Product 1<br></td>
<td>5</td>
<td>
₹ 50.00
</td>
<td>
₹ 250.00
</td>
</tr>
<tr>
<td>10165</td>
<td>Product 2<br></td>
<td>5</td>
<td>
₹ 50.00
</td>
<td>₹ 250.00
</td>
</tr>
<tr>
<td colspan="5">amp;nbsp;</td>
</tr>
<tr>
<td colspan="3">amp;nbsp;</td>
<td align="right"> Subtotal: </td>
<td>₹ 250.00</td>
</tr>
<tr>
<td colspan="3">amp;nbsp;</td>
<td align="right"> Tax: </td>
<td>₹ 0.00</td>
</tr>
<tr>
<td colspan="3">amp;nbsp;</td>
<td align="right"> Shipping Cost: </td>
<td>₹ 0.00</td>
</tr>
<tr>
<td colspan="3">amp;nbsp;</td>
<td align="right"> Grand Total: </td>
<td>₹ 250.00</td>
</tr>
</tbody>
</table>
<br>
</td>
</tr>
</tbody></table>
Как добавить изображение продукта перед артикулом.
Любая помощь, пожалуйста ..?
Комментарии:
1. Где артикул в таблице?
2. @Satpal
Item
какSKU
любой другой способ, который я обновил.3. Лучше всего изменить html…
4. @freedomn-m, да, но у нас нет приведенного выше кода, нам нужно ввести изображение продукта через jquery.
Ответ №1:
Поскольку у вас нет thead
или даже не используется th
для заголовков, вам придется пропустить первую строку, вы можете использовать «>», чтобы указать прямую иерархию, например:
$("table>tbody>tr>td>table>tbody>tr:not(:first-child)").each(function() {
var codecell = $(this).find("td:eq(0)");
var img = "/pathtoimage/" codecell.text() ".jpg"
codecell.after("<td><img src='" img '/></td>");
});
Обновлено: исправлена опечатка для ("td:eq(0)")
vs ("td").eq(0)
vs ("td")[0]
Комментарии:
1. @freedomn-m var codecell = $(this).find(«td:eq[0]»); должно быть var codecell = $(this).find(«td:eq(0)»);
2. @user3273700 спасибо, что указали на опечатку. Обновленный ответ.