none
Como esconder todos os controles de um tipo específico que tenham em seu ID uma palavra em comum ? RRS feed

  • Pergunta

  • Olá,

    Eu tenho uma página aspx que mostra vários spans.
    Cada span destes é criado com o ID nome + numero.

    Como estes spans possuem um nome em comum em seu ID conforme exemplo:

    SPID01
    SPID02
    SPID03
    SPID04


    Como que eu poderia fazer para pegar estes caras e esconder os mesmos?

    Esconder eu consigo, não estou conseguindo pegar eles mesmo.


    Obrigado


    k2rto4 - Analista SharePoint Jr.


    • Editado TI DEV domingo, 27 de maio de 2012 21:44
    quinta-feira, 10 de maio de 2012 14:09

Respostas

  • Olá Vitor Mendes,

    Eu consegui fazer de outra forma.
    Utilizei JavaScript apenas e não a sua biblioteca JQuery.

    Como dito anteriormente eu tenho vários spans na tela.
    E estes spans possuem em comum uma mesma palavra em seu ID.

    Para poder esconder todos estes spans eu fiz o seguinte:

    <script type="text/Javascript">

            function EscondeSPAN() {

                //----Rotina para esconder o SPAN que tenha eu seu nome de ID uma determinada palavra----//

                //Pego todos os controles spans da tela
                var PegaTodosElementosSPANSDaTela = document.getElementsByTagName("span");
               
                //Varro todos estes controles spans capturados
                for (i = 0; i < PegaTodosElementosSPANSDaTela.length; i++) {
                   
                    //Pego o nome do ID do span em questão
                    var PegaIdDoSPAN = PegaTodosElementosSPANSDaTela[i].id.toString();

                    //Nesta rotina eu verifico se o ID do span contém o nome/palavra que procuro 
                    if (PegaIdDoSPAN.search("ID") != -1) {
                        //Se o ID do span tiver a palavra desejada eu o escondo da tela
                        PegaTodosElementosSPANSDaTela[i].style.display = "none";

                    }
                }

                //----Fim da Rotina----//
            }

    </script>


    Com esta rotina pronta bastou apenas chamá-la na página.

    Show.

    Abraços e Obrigado Vitor


    k2rto4 - Analista SharePoint Jr.


    • Editado TI DEV sexta-feira, 11 de maio de 2012 13:43
    • Marcado como Resposta TI DEV sexta-feira, 11 de maio de 2012 13:44
    sexta-feira, 11 de maio de 2012 13:43

Todas as Respostas

  • Você pode esconder eles com Jquery, o unico padrão para nomenclatura é ID + Numero ? Caso seja só esconder eles:

    $('[id*=SPID]').hide();



    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    quinta-feira, 10 de maio de 2012 14:42
  • Olá Vitor,

    Desta forma ele esconderá todos os controles que tiverem em seu ID SPID?

    Eu queria fazer isto/o mesmo com JavaScript.

    Teria alguma forma de fazer isto?

     

    Muito Obrigado


    k2rto4 - Analista SharePoint Jr.

    quinta-feira, 10 de maio de 2012 14:50
  • Olá Vitor,

    Desta forma ele esconderá todos os controles que tiverem em seu ID SPID?

    Eu queria fazer isto/o mesmo com JavaScript.

    Teria alguma forma de fazer isto?

     

    Muito Obrigado


    k2rto4 - Analista SharePoint Jr.

    Veja este exemplo:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('[id*=SPID]').hide();
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <span id="SPID001">1</span><br />
        <span id="SPID002">2</span><br />
        <span id="SPID003">3</span><br />
        <span id="PID004">4</span><br />
        <span id="SPID005">5</span><br />
        <span id="SPID006">6</span><br />
        </form>
    </body>
    </html>
    O unico a ser exibido é 4.


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/


    • Editado Vitor Mendes quinta-feira, 10 de maio de 2012 14:57
    • Marcado como Resposta TI DEV sexta-feira, 11 de maio de 2012 13:44
    • Não Marcado como Resposta TI DEV sexta-feira, 11 de maio de 2012 14:01
    quinta-feira, 10 de maio de 2012 14:56
  • Olá Vitor,

    Fiz o teste aqui e funcionou.

    Como que eu poderia fazer para que, em vez de esconder, pegar o valor presente no span.
    Tipo span.InnerHtml?


    Obrigado.


    k2rto4 - Analista SharePoint Jr.

    quinta-feira, 10 de maio de 2012 15:05
  • Olá Vitor,

    Fiz o teste aqui e funcionou.

    Como que eu poderia fazer para que, em vez de esconder, pegar o valor presente no span.
    Tipo span.InnerHtml?


    Obrigado.


    k2rto4 - Analista SharePoint Jr.

    Você pode usar o método each() do jquery para isso, e depois usar o método html() para recuperar o valor de dentro:

    $(document).ready(function () {
        $('[id*=SPID]').each(function () {
            //oque você quer fazer aqui ! Exemplo:
            alert($(this).html());
        });
    });


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    quinta-feira, 10 de maio de 2012 16:18
  • Olá Vitor Mendes,

    Eu consegui fazer de outra forma.
    Utilizei JavaScript apenas e não a sua biblioteca JQuery.

    Como dito anteriormente eu tenho vários spans na tela.
    E estes spans possuem em comum uma mesma palavra em seu ID.

    Para poder esconder todos estes spans eu fiz o seguinte:

    <script type="text/Javascript">

            function EscondeSPAN() {

                //----Rotina para esconder o SPAN que tenha eu seu nome de ID uma determinada palavra----//

                //Pego todos os controles spans da tela
                var PegaTodosElementosSPANSDaTela = document.getElementsByTagName("span");
               
                //Varro todos estes controles spans capturados
                for (i = 0; i < PegaTodosElementosSPANSDaTela.length; i++) {
                   
                    //Pego o nome do ID do span em questão
                    var PegaIdDoSPAN = PegaTodosElementosSPANSDaTela[i].id.toString();

                    //Nesta rotina eu verifico se o ID do span contém o nome/palavra que procuro 
                    if (PegaIdDoSPAN.search("ID") != -1) {
                        //Se o ID do span tiver a palavra desejada eu o escondo da tela
                        PegaTodosElementosSPANSDaTela[i].style.display = "none";

                    }
                }

                //----Fim da Rotina----//
            }

    </script>


    Com esta rotina pronta bastou apenas chamá-la na página.

    Show.

    Abraços e Obrigado Vitor


    k2rto4 - Analista SharePoint Jr.


    • Editado TI DEV sexta-feira, 11 de maio de 2012 13:43
    • Marcado como Resposta TI DEV sexta-feira, 11 de maio de 2012 13:44
    sexta-feira, 11 de maio de 2012 13:43