$("button[data-theme]").click(function(){
$("head link#theme").attr("href", $(this).data("theme"));
});
Przeanalizujmy sobie kod jQuery, ten który posiadasz:
- Wybierz button posiadający atrybut data-theme
- Dodaj nasłuchanie - po kliknięciu uruchom funkcję
- Znajdź znacznik link w head i nadaj nową wartość dla atrybutu href.
To w sumie tyle. Na chwilę obecną Twój kod wyłapuje wszystkie znaczniki button, a następnie dla każdego z tych buttonów (tak myślę - w kodzie masz literówkę) dodajesz nasłuchiwanie na kliknięcie, które to z kolei wywołuje pustą funkcję.
W czym masz problem? Jeżeli potrafisz wybrać element oraz nasłuchiwać, to teraz pozostaje złapanie odpowiedniego link, a następnie zmiana wartości.