私はJQueryを学ぼうと試みてきましたが、本からのこのチュートリアルは本当に困惑しました。私はそれをいくらか単純化したので、可能な限り最も単純な要素/関数を扱っています。このテーブルを定義しました
<table id ="testtable">
<thead>
<th>Client Name</th>
<th>Appointment Dates</th>
</thead>
<tbody id="tabledata">
<tr>
<td>Joe</td>
<td>01/01/2012</td>
</tr>
<tr>
<td>Joe</td>
<td>01/01/2012</td>
</tr>
<!--@Html.Action("AppointmentData", new { id = Model })-->
</tbody>
</table>
次のように定義された関数を呼び出すボタンがあります
<input type="button" value="test" onclick="OnSuccess();" />
そして、私はここに私の実際のJqueryを持っています
<script type="text/javascript">
function OnSuccess() {
$("#tabledata").append("<tr><td>hello</td><td>world</td></tr>");
}
</script>
私を本当に困惑させているのは、実行に失敗するJquery関数です。.empty()を使用してテーブルを空にすることができ、これを実行することもできます。
$("#tabledata").append("<td>hello</td><td>world</td>")
そして、それはデータを追加しますが、私はそれが行を追加しない理由を私の一生の間理解することができません。表示されるChromeデバッガーのエラーメッセージは「UncaughtTypeError:object isnotafunction」です。これは、テーブル行タグの追加を開始したときにのみ発生します。
編集:
ローカルのjQueryライブラリが奇妙な動作をしていたことが判明しました。誤って変更した可能性がありますか?私がグーグルがホストするライブラリを参照するとすぐにそれは機能しました
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('input[name="testButton"]').click(function () {
alert('hi');
$("#testtable tbody").append("<tr><td>hello</td><td>world</td></tr>");
});
});
</script>