Вы хотите использовать .after()
здесь, вот так:
$("#aa").after("<input type='text' name='category' value='h2' /\>");
.insertAfter()
противоположен, он берет первый элемент и пытается поместить его после второго элемента (или селектора, в зависимости от того, что вы даете), так что это будет выглядеть так:
$("<input type='text' name='category' value='h2' /\>").insertAfter("#aa");