Ответ 1
Нет, они не эквивалентны по скорости.
$(this)
каждый раз создает новый объект jQuery. И в зависимости от того, что есть this
, это может быть сложная операция.
Итак, вторая форма быстрее.
Обратите внимание, что для чтения вы можете записать его как
$(this)
.attr("date",date)
.attr("date_start",date_start)
.attr("heure_start",heure_start);
Если вы не можете связать операции, потому что между ними есть другие строки кода, вы также можете кэшировать объект. Это обычно:
var $this = $(this);
$this.attr("date", date);
$this.attr("date_start", date_start);
$this.attr("heure_start", heure_start);
Также обратите внимание, что attr может принимать карту в качестве аргумента:
$(this).attr({
date: date,
date_start: date_start,
heure_start: heure_start
});