jQuery getAttribute

Eu tenho um atributo “uid” e é valor na minha tag “body” …

$(document).ready(regFunct()); function regFunct(){ alert($("body").attr("uid")); } 

mas diz “indefinido”. Algo errado?

experimentar:

 $(document).ready(function(){ regFunct(); }); function regFunct(){ alert($("body").attr("uid")); } 

Você está colocando o valor de retorno de regFunct no método do manipulador .ready() . Isto é, undefined porque sua function não retorna nada.

Você precisa passar a referência da function, omitindo os parênteses:

 $(document).ready(regFunct); 
 $(document).ready(regFunct); 

defina para rel tag e verifique!

 function regFunct(){ alert($("body").attr("rel")); } 

ATUALIZAÇÃO: Parece ser indefinido no Internet Explorer, já que o uid não é um atributo conhecido. A correção seria usar o jQuery.data() para inserir dados em um elemento.

 $(document).ready(regFunct()); function regFunct(){ $('body').data('uid', 1337); alert($('body').data('uid')); } 

Mas você teria que atribuir o uid a si mesmo. Por exemplo, você poderia fazer isso via na página.

  

Mais sobre jQuery.data () em http://api.jquery.com/jQuery.data/

Exemplo de trabalho: http://jsfiddle.net/6Bwtt/1/

MAS se você está tentando salvar dados na página do lado do servidor, você poderia ter apenas um elemento invisível após o corpo, por exemplo

depois busque-o usando $("#uid").html(); Voila! 🙂

Oi adicionando atributo personalizado é um mau comportamento. dê uma olhada em http://www.w3schools.com/tags/tag_body.asp você não terá nenhum atributo uid.

Se você quiser armazenar seus próprios dados. use $.data (veja a documentação no site do jQuery )

 // save the value $('body').data('uid', mycustomvalue); // retrieve the value $('body').data('uid'); 

Se os dados vêm do servidor, você ainda pode fazer