Как уже говорили другие, при использовании jQuery гораздо безопаснее использовать .data()
для хранения пользовательских данных в элементе. Вы можете сделать это компактно в вашем примере следующим образом:
jQuery('<div/>', {id: 'karta'+i,}).data("znak", player1).appendTo('#igrac1');
И затем, когда вы захотите сослаться на данные Znak, вы получите это с помощью:
var curPlayer = jQuery("#karta1").data("znak");
Вы можете увидеть, как это работает здесь: http://jsfiddle.net/jfriend00/fqaKg/
Если вы хотите установить несколько объектов данных для объекта, вы можете сделать это либо с помощью нескольких вызовов .data (), либо передав объект в .data ():
jQuery("#karta1").data("player", "Bob").data("age", 13);
или
jQuery("#karta1").data({player: "Bob", age: 13});
И их можно получить как:
var player = jQuery("#karta1").data("player");
var age = jQuery("#karta1").data("age");