var a_list = $('#hoge_list > li').length;

これに恐ろしく悩まされる。

 $('#hoge_list > li').length

え。

hoge_list が li  より大きい?

PHPとかPerlとは全く違うんですね、jQueryなるものは。
いちからちゃんと勉強しないから、こんなこともわからんと。

#hoge ← id="hoge" のこと

> li ← チャイルドセレクタ というやつらしい なので、チャイルドの「li」のこと言ってるみたい


つまり・・・

<div id="hoge">
  <li>hello world!(古い)</li>
</div>

というHTMLがあったら、このhoge内のliの数を数えてる、ってことじゃないかと解釈しました。

あってんのかね・・・。この解釈で。


さらに、1日経って、ようやく「フォームの数を増やしたり減らしたり」のHTML部分が完成しました!!
参考サイト様のおかげで、少しだけわかるようになりました!
解説付きの覚え書きが以下。

//グローバル変数
var prefix_order_list = 'order_list_'; //品目入力欄のname属性の接頭辞
var prefix_order_list2 = 'order_list2_'; //品目入力欄のname属性の接頭辞2
var prefix_order_list3 = 'order_list3_'; //品目入力欄のname属性の接頭辞3
var prefix_order_list4 = 'order_list4_'; //品目入力欄のname属性の接頭辞4
var prefix_order_list5 = 'order_list5_'; //品目入力欄のname属性の接頭辞5
var prefix_order_list6 = 'order_list6_'; //品目入力欄のname属性の接頭辞6

//ページ読み込み後に、イベントハンドラを設定
jQuery(document).ready(function($){
	//--------------------------------------------------------
	//『品目の追加』ボタンを押した場合の処理
	//--------------------------------------------------------
	$('#btn_add').click(function(){
		//品目入力欄を追加
		var len_list = $('#order_list > li').length;
		var new_list = '<li><input type="text" size="20" name="' + prefix_order_list + len_list + '">' + '<input type="text" size="20" name="' + prefix_order_list2 + len_list + '">' + '<input type="text" size="20" name="' + prefix_order_list3 + len_list + '">' + '<input type="text" size="20" name="' + prefix_order_list4 + len_list + '">' + '<input type="text" size="20" name="' + prefix_order_list5 + len_list + '">' + '<input type="text" size="20" name="' + prefix_order_list6 + len_list + '"></li>';
		$('#order_list').append(new_list);

		//『削除』ボタンの一旦全消去し、配置し直す
		$('#order_list input[type="button"]').remove();
		len_list++;
		for(var i=0; i<len_list; i++){
			var new_btn = '<input type="button" value="削除">';
			$('#order_list > li').eq(i).append(new_btn);
		}
			
	});
	//--------------------------------------------------------
	//『削除』ボタンを押した場合の処理
	//--------------------------------------------------------
	$(document).on('click', '#order_list input[type="button"]', function(ev) {
		//品目入力欄を削除
		var idx = $(ev.target).parent().index();
		$('#order_list > li').eq(idx).remove();

		var len_list = $('#order_list > li').length;

		//入力欄がひとつになるなら、削除ボタンは不要なので消去
		if (len_list == 1) $('#order_list input[type="button"]').remove();

		//入力欄の番号を振り直す
		for (var i=0; i<len_list; i++) {
			$('#order_list > li:eq(' + i + ') input[type="text"]').eq(0).attr('name', prefix_order_list + i);
			$('#order_list > li:eq(' + i + ') input[type="text"]').eq(1).attr('name', prefix_order_list2 + i);
			$('#order_list > li:eq(' + i + ') input[type="text"]').eq(2).attr('name', prefix_order_list3 + i);
			$('#order_list > li:eq(' + i + ') input[type="text"]').eq(3).attr('name', prefix_order_list4 + i);
			$('#order_list > li:eq(' + i + ') input[type="text"]').eq(4).attr('name', prefix_order_list5 + i);
			$('#order_list > li:eq(' + i + ') input[type="text"]').eq(5).attr('name', prefix_order_list6 + i);
		}
	});
});

で、以下がフォームの箇所。

<form action="hoge_pg.php" method="POST">
<h3>料金追加</h3>
<ul>
<li>項目 (※複数可能)<br>
<ol id="order_list">
<li><input type="text" size="20" name="order_list_0" value=""><input type="text" size="20" name="order_list2_0" value=""><input type="text" size="20" name="order_list3_0" value=""><input type="text" size="20" name="order_list4_0" value=""><input type="text" size="20" name="order_list5_0" value=""><input type="text" size="20" name="order_list6_0" value=""></li>
</ol>
<input type="button" value="フォームの追加" id="btn_add">
</li>
</ul>
<input type="submit" value="データを送信します" name="submit">
</form>

参考 http://d.hatena.ne.jp/sutara_lumpur/20111113/1321169720