2

我想使用 jQuery 在 HTML 表格的某一行之后插入图像。我尝试使用 appendTo 函数,但它不起作用。我猜我的 jQuery 选择器有问题。任何人都可以更正我的代码吗?

谢谢!

HTML 代码:

<div class="articles">
<table align="center">
<tr><th><label for="id_chemical_name">Chemical name:</label></th><td><textarea id="id_chemical_name" rows="2" cols="17" name="chemical_name">Spinosad</textarea></td></tr>
<tr><th><label for="id_T">Number of time intervals:</label></th><td><input type="text" name="T" value="10" id="id_T" /></td></tr>

<!--I would like to insert an image after the row 'Number of time intervals'-->

<tr><th><label for="id_a">Logistic model parameter (&#945;):</label></th><td><input type="text" name="a" value="0.746" id="id_a" /></td></tr>
</table></div>

jQuery代码:

<script type="text/javascript" src=" ../stylesheets/jquery-1.7.2.js"></script> 
<script>
    $(document).ready(function(){ 
    $('<img src = "https://www.google.com/images/srpr/logo3w.png" />').appendTo('#id_T');
})
</script>

这是该问题的演示

4

5 回答 5

1

如果不将图像包含在 tr 和 td/th 元素中,则无法将图像直接插入到表格中。我认为这就是你想要做的:

$('<tr><th colspan="2"><img src = "https://www.google.com/images/srpr/logo3w.png" /></th></tr>').insertAfter($("#id_T").parent("td").parent("tr"));
于 2012-07-25T17:00:10.917 回答
0

任何表格的内容都应该在 td 或 th 标记内,该标记应该在有效的 tr 标记中。再次检查您的选择器位置。

于 2012-07-25T16:58:33.800 回答
0

具有 ID 的元素id_T是一个<input>- 特别是一个文本框 - 它不能有子元素(当然也不是子图像)。

您可能想尝试insertBeforeinsertAfter代替,或者您可以使用类似的东西:

$('#id_T').closest('td').appendTo...

从输入向上移动 DOM 并找到包含<td>.

于 2012-07-25T16:49:42.557 回答
0

#id_T是文本输入,您不能将图像附加到它。

为什么不能手动输入图像?特别是因为您不能只在这样的表结构中间转储图像。

于 2012-07-25T16:50:27.767 回答
0

将图像添加到 id_T 所在的同一 TD。执行此操作

$('<img src = "https://www.google.com/images/srpr/logo3w.png" />').appendTo($('#id_T').parent());
于 2012-07-25T16:51:39.773 回答