1.
$(this).parent().attr("id");
2
Там должно быть большое количество способов! Можно скрыть элемент, содержащий ответ, например,
<div>
Volume = <input type="text" />
<button type="button">Check answer</button>
<span style="display: hidden">3.93e-6</span>
<div></div>
</div>
И затем получите код jQuery, подобный приведенному выше, чтобы получить:
$("button").click(function ()
{
var correct = Number($(this).parent().children("span").text());
validate ($(this).siblings("input").val(),correct);
$(this).siblings("div").html(feedback);
});
имейте в виду, что если вы поместите ответ в код клиента, они увидят его :). Лучший способ сделать это - проверить его на стороне сервера, но для приложения с ограниченной областью действия это может не быть проблемой.