1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Atribuir ID pela Class em JS

Discussão em 'Web Development' iniciada por danfergo, 8 de Agosto de 2009. (Respostas: 17; Visualizações: 2135)

  1. danfergo

    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 !
     
  2. OldMan

    OldMan Power Member

    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.
     
  3. danfergo

    danfergo Power Member


    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?
     
  4. OldMan

    OldMan Power Member

    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>
    
     
  5. danfergo

    danfergo Power Member

    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é?
     
  6. danfergo

    danfergo Power Member

    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
     
  7. OldMan

    OldMan Power Member

  8. danfergo

    danfergo Power Member

    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.
     
  9. OldMan

    OldMan Power Member

    Já tinha avisado que isso podia acontecer se houvesse mais do que uma div a usar a mesma class.

    Se só tens 2 divs a usar essa class e queres atribuir um ID à última, o que precisas é disto:
    http://docs.jquery.com/Selectors/last
     
  10. danfergo

    danfergo Power Member


    Muito Muito Obrigado, fiquei 100% esclarecido.
    Mas, já agora, e se fosse 3 ou 4 divs como s podia fazer?
     
  11. OldMan

    OldMan Power Member

    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.
     
  12. p3dro

    p3dro Power Member

    Acho que podes usar o :eq
     
  13. OldMan

    OldMan Power Member

  14. danfergo

    danfergo Power Member

    Muito, muito obrigado aos dois!
     
  15. danfergo

    danfergo Power Member

    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?
     
  16. OldMan

    OldMan Power Member

    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.
     
  17. K0mA

    K0mA Power Member

    Última edição: 11 de Agosto de 2009
  18. danfergo

    danfergo Power Member


    Obrigado
     

Partilhar esta Página