una matriz de cadenas como un selector de jQuery?

Tengo una matriz de cadenas que son válidos los selectores de jQuery (es decir, los Identificadores de los elementos de la página):

["#p1", "#p2", "#p3", "#p4", "#p5"]

Quiero para seleccionar los elementos con los Identificadores en un jQuery matriz. Esta es, probablemente, la primaria, pero no puedo encontrar nada en internet. Yo podría haber un bucle que crea una cadena de "#p1,#p2,#p3,#p4,#p5" que podría ser transmitida a jQuery como un único selector, pero no hay otro camino? No hay una manera de pasar un array de strings como un selector?

EDICIÓN: en Realidad, hay una respuesta ya ha.

InformationsquelleAutor montrealist | 2009-06-16

7 Kommentare

  1. 47

    Bien, no hay ‘unirse’:

    ["#p1", "#p2", "#p3", "#p4", "#p5"].join(", ")

    EDITAR – información Adicional:

    Es posible seleccionar un conjunto de elementos, el problema aquí es que usted no tiene los elementos, sin embargo, sólo el selector de cadenas. Cualquier forma que se mire vas a tener que ejecutar una búsqueda como .getElementById o usar un jQuery select.

    • join() es exactamente la misma. Gracias.
  2. 4

    Utilizar la matriz.método de combinación para unirse a ellos

    $(theArray.join(','));
    • Jeje, sabía que sería demasiado lento en este maldito iphone 🙂
    • Gracias por tomar el tiempo de todos modos!
  3. 4

    Va a contestar oficialmente a su pregunta: con un one-liner:

    //If this is only one use variable you can use
    $(['#p1','#p2','#p3','#p4','#p5'].join(',')).methodToUse();
    //if you DO need it as a variable you can
    var joined = ['#p1','#p2','#p3','#p4','#p5'].join(',');
    $(joined).methodsToUse();

    Si quieres hacer algo de forma individual también hay .cada uno();

    En el ejemplo a continuación, cada uno de los p ids de los clics que hace que cualquier uno de ellos rojo:

    var peas = ['#p1','#p2','#p3','#p4','#p5'];
    $.each(peas, function(i){
        $(peas[i]).click( function(){
            $(peas[i]).css({'color':'red'});
        });
    });

    Cuando se lanza un ‘yo’ en un parámetro de la función, encuentra los valores dentro de las matrices de forma adecuada. Al hacer ‘.cada()’ el formato se parece a esto:

    $.each(array, function(i){
        //any code you wish as long as you have an array selector
        //$(array[i]).whatever function
    });

    Un gran ejemplo. Dices que quieres hacer que el P que usted haga clic en el rojo, pero quiere que el otro ps volver a los valores predeterminados de color. Acaba de hacer una matriz de nonPea y voila!

    var peas = ['#p1','#p2','#p3','#p4','#p5']
    ,   nonPeas = ['#p5, #p2, #p3, #p4'
                  ,'#p1, #p5, #p3, #p4'
                  ,'#p1, #p2, #p5, #p4'
                  ,'#p1, #p2, #p3, #p5'
                  ,'#p1, #p2, #p3, #p4']
    ;
    $.each(peas, function(i){
        $(peas[i]).click( function(){
            $(peas[i]).css({'color':'red'});
            $(nonPeas[i]).css({'color':'black'});
        });
    });

    Yo conozco a alguien que está obligado a querer saber acerca de cada valor de la matriz como los selectores de jquery. Espero que todo salga bien!

    Fuente:
    jQuery .cada()
    El violín en acción (con las actualizaciones!)

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Recent Articles

Python «set» con duplicados/elementos repetidos

Hay una forma estándar de representar un "conjunto" que puede contener elementos duplicados. Como yo lo entiendo, un conjunto tiene exactamente un cero o...

Python: generador de expresión vs rendimiento

En Python, ¿hay alguna diferencia entre la creación de un generador de objetos a través de un generador de expresión versus el uso de...

Cómo exportar/importar la Masilla lista de sesiones?

Hay una manera de hacer esto? O tengo que tomar manualmente cada archivo de Registro? InformationsquelleAutor s.webbandit | 2012-10-23

no distingue mayúsculas de minúsculas coincidentes en xpath?

Por ejemplo, para el xml a continuación <CATALOG> <CD title="Empire Burlesque"/> <CD title="empire burlesque"/> <CD...