Dodaj regułę CSS poprzez jQuery dla przyszłych elementów

Mam dość niezwykły problem. Robiłem coś takiego wiele razy:

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

Moim problemem jest to, że tworzę<div id="selector">i wywołam powyższe polecenie i działa dobrze.

Teraz, na innym wydarzeniu, później usuwam ten element zDOM i dodaj go ponownie później, z tym samym identyfikatorem. Ten element teraz nie macolor:#00f.

Czy istnieje sposób, w jaki mogę dodać regułę w CSS, tak że wpłynie ona na elementy tworzone w przyszłości z tym samymid/class? lubięjQuery, ale wszystko z prostym JavaScriptem również byłoby w porządku.

Musi być dynamiczny i nie znam klas, które należy umieścić w pliku CSS. Ponadto planuję zmienić pojedynczy atrybut kilka razy w trakcie aplikacji. Na przykład ustawieniecolor doblack, doblue, dorediz powrotem doblack.


Poszedłem z odpowiedzią@lucasspi to właśnie skończyło się na:

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>'));
    }
}

Chcę też to powiedzieć@Nelson jest prawdopodobnie najbardziej „poprawny”, choć wymagałoby to więcej pracy, aby przejść do kodu aplikacji, który zawsze działa dobrze, a to nie jest wysiłek, który chcę w tej chwili wydać.

Gdybym musiał przepisać to (lub napisać coś podobnego) w przyszłości, sprawdziłbym todetach().

questionAnswers(10)

yourAnswerToTheQuestion