Fügen Sie über jQuery CSS-Regeln für zukünftig erstellte Elemente hinzu

Ich habe ein etwas ungewöhnliches Problem. Ich habe so etwas schon oft gemacht:

$('#selector').css('color','#00f');

Mein Problem ist, dass ich eine<div id="selector">, und ich rufe den Befehl oben und es funktioniert gut.

Jetzt, bei einem anderen Ereignis später, entferne ich dieses Element aus derDOM und fügen Sie es zu einem späteren Zeitpunkt mit derselben ID erneut hinzu. Dieses Element hat jetzt nichtcolor:#00f.

Gibt es eine Möglichkeit, in CSS eine Regel hinzuzufügen, die sich auf Elemente auswirkt, die in Zukunft mit derselben erstellt werden?id/class? ich magjQueryAber alles mit einfachem JavaScript wäre auch in Ordnung.

Es muss dynamisch sein und ich kenne die Klassen, die in eine CSS-Datei eingefügt werden sollen, nicht. Außerdem plane ich, ein einzelnes Attribut im Verlauf der Anwendung einige Male zu ändern. Zum Beispiel das Einstellen dercolor zublackzubluezuredund zurück zublack.


Ich ging mit der Antwort aus@lucasspUnd das ist es, womit ich endete:

function toggleIcon(elem, classname)
{
    if($(elem).attr('src')=='img/checkbox_checked.gif')
    {
        $(elem).attr('src', 'img/checkbox_unchecked.gif')
        //$('.'+classname).hide();//this was the old line that I removed
        $('html > head').append($('<style>.'+classname+' { display:none; }</style>'));
    }
    else
    {
        $(elem).attr('src', 'img/checkbox_checked.gif')
        //$('.'+classname).show();//this was the old line that I removed
        $('html > head').append($('<style>.'+classname+' { display:block; }</style>'));
    }
}

Das möchte ich auch sagen@ Nelson ist wahrscheinlich das "Richtigste", obwohl es mehr Arbeit erfordern würde, um in den Anwendungscode zu gelangen, der immer gut funktioniert, und das ist kein Aufwand, den ich im Moment aufwenden möchte.

Wenn ich dies in Zukunft umschreiben müsste (oder etwas Ähnliches schreiben müsste), würde ich es mir ansehendetach().

Antworten auf die Frage(10)

Ihre Antwort auf die Frage