Atribuir ID pela Class em JS

danfergo

Power Member
Boas pessoal, existe alguma forma , rápida de preferencia, de atribuir 1 ID a um objecto, pela class e pela tag? ou só pela class.



Tanks a todos !
 
Não consegui perceber o que procuras e já não é a primeira vez que tenho dificuldade em entender o que escreves. Acho que não perdias nada em pensar mais do que 2x na tua dúvida de maneira a te conseguires expressar melhor.

Com javascript consegues atribuir um valor a qualquer atributo, logo penso que o id também estará incluído, mas nunca experimentei. Não percebo é a parte em que metes "pela class e pela tag" ao barulho.
 
Não consegui perceber o que procuras e já não é a primeira vez que tenho dificuldade em entender o que escreves. Acho que não perdias nada em pensar mais do que 2x na tua dúvida de maneira a te conseguires expressar melhor.

Com javascript consegues atribuir um valor a qualquer atributo, logo penso que o id também estará incluído, mas nunca experimentei. Não percebo é a parte em que metes "pela class e pela tag" ao barulho.


Desculpem. mas é que as vezes eu nao sei bem os nomes das coisas e tenho dificuldade em me explicar. vou me tentar explicar por um exemplo:

Código:
<div class="aminhadiv"> CONTEUDO </div>

eu preciso de dar um ID a essa div, mas não posso alterar o html, como posso fazer?
 
Se essa for a única div a usar essa class é possível, caso contrário acho que vai ser mais complexo. Assim de repente não estou a ver como dar a volta a isso, seria preciso avaliar bem o código para veres por onde podias pegar para ter a certeza que essa era DIV que querias.

Com jQuery seria algo tipo:

Código:
$(".aminhadiv").attr("id", "oteuID");

e ficaria:

Código:
<div class="aminhadiv" id="oteuID"> CONTEUDO </div>
 
e como é que eu faço isso na 'verdade' ?

é algo assim?

Código:
<script type="text/javascript" src="jqery.js"> </script>
<script type="text/javascript">
$(".aminhadiv").attr("id", "oteuID");
</script>

e no jqery punha o url de um js com o jQuery né?
 
eu pus:

Código:
<script type="text/javascript" src="http://servertoutloud.brinkster.net/jquery-1.3.2.min.js"> </script>
<script type="text/javascript" src="http://servertoutloud.brinkster.net/add-id.js"> </script>

e nao mudou nao deu o id a uma div com class borderwrap
 
Mas agora eu tinha 2caixa com essa class, e ele deu ID nas duas, e o codigo que eu estava a usar apenas actua na primeira caixa e nao na segunda, eu quero que actue na segunda.

vou dar um exemplo, para ser mais claro:

Código:
<body>
<div class="a-minha-div">  
 TEXTO 1 
</div>
<div class="a-minha-div-geral">
   <div class="a-minha-div"> 
   TEXTO 2
   </div>
</div>
</body>
eu apenas quero que o jQuery de Id à segunda div (com TEXTO 2).
eu pensei se era possivel "dar o ID" com referencia, a class, e a class da caixa anterior. é possivel?


Desde já um Grande Grande obrigado, estou a consegui resultados que sem a sua ajuda nao os conseguiria.
 
Se quisesses pegar na primeira div usavas div:first, se quisesses a última usavas div:last. Isto era a forma mais directa que tinhas de fazer.

Se tivesses 50 divs a usar a mesma class talvez pudesses usar o :contains para teres a certeza que só ias seleccionar AQUELA div, mas nunca experimentei.
 
Desculpem estar a voltar à mesmo assunto , e estar sempre a massacrar. Mas se se a class for algo do genero "class="pagina um um" "
[em CSS eu usaria .pagina.um.um]
neste code:
$(".aminhadiv").attr("id", "oteuID");
fica:
$(".pagina.um.um").attr("id", "oteuID");

é isto?
 
Desculpem estar a voltar à mesmo assunto , e estar sempre a massacrar. Mas se se a class for algo do genero "class="pagina um um" "
[em CSS eu usaria .pagina.um.um]
neste code:
$(".aminhadiv").attr("id", "oteuID");
fica:
$(".pagina.um.um").attr("id", "oteuID");

é isto?

class="pagina um um" quer dizer que esse elemento está a usar não só a class "pagina" mas também a class "um" (que me parece que aparecer 2x "um" não muda nada).

Se o elemento tem várias class associadas tens de ver qual delas é que está apenas associada ao elemento que queres alterar, senão vais acabar por alterar coisas que não queres.
 
Última edição:
class="pagina um um" quer dizer que esse elemento está a usar não só a class "pagina" mas também a class "um" (que me parece que aparecer 2x "um" não muda nada).

Se o elemento tem várias class associadas tens de ver qual delas é que está apenas associada ao elemento que queres alterar, senão vais acabar por alterar coisas que não queres.


Obrigado
 
Back
Topo