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

IDid_Tを持つ要素は<input>-具体的にはテキストボックス-であり、子要素を持つことはできません(そして確かに子画像ではありません)。

試してみるinsertBeforeか、insertAfter代わりに、次のようなものを使用できます。

$('#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 に答える
0

テーブルのコンテンツは、有効なtrタグ内にある必要があるtdまたはthタグ内にある必要があります。セレクターの場所をもう一度確認してください。

于 2012-07-25T16:58:33.800 に答える