Попробуйте назначить tem новым var, затем используйте replace.
var newvar = tem;
newvar.replace( /\$\{([^\}]+)\}\.each\(([^\)]+)\)/g, function( w, k, t )
Если это не сработает, попробуйте обновить версию jQuery.
Edit:
Убедитесь, что ваша переменная tem
является строкой, а замена - строковой функцией. Так что если:
var tem = "Some random string";
tem.replace()
замена будет работать. Также убедитесь, что то, что определяет tem
, не возвращает ноль или неопределенное значение. Попробуйте предупредить команду перед функцией замены и посмотрите, что она возвращает.