Czy możliwe jest wykrycie wszystkich arkuszy stylów na bieżącej stronie za pomocą kliknięcia przycisku "wyłącz/włącz CSS" i wyłączenie ich za pierwszym kliknięciem, aby żadna z opcji ma zastosowanie stylizacja, a następnie przywrócić je po drugim kliknięciu? Masz pomysł, jak będzie wyglądać jQuery, jeśli to możliwe?jQuery - włącz/wyłącz wszystkie arkusze stylów na stronie po kliknięciu
Odpowiedz
$('link[rel="stylesheet"]').attr('disabled', 'disabled');
ten powinien wyłączyć wszystkie z nich, wówczas naprzeciw renable je:
$('link[rel="stylesheet"]').removeAttr('disabled');
$('link[rel=stylesheet][href~="somelink.com"]').attr('disabled', 'true');
Tutaj jest szorstka przykład, który opiera się na przypisanie identyfikatora do stylu, a następnie usuwanie i przywracanie używając zmiennej.
HTML
<style id="test">
.test{
background: red;
width: 100px;
height: 100px;
}
</style>
<div class="test">Something</div>
<div id="remove">Click to Remove</div>
<div id="restore">Click to Restore</div>
JavaScript
var css = $("#test");
$("#remove").click(function(){
css.remove();
});
$("#restore").click(function(){
$("head").append(css);
});
Przykład roboczyhttp://jsfiddle.net/Fwhak/
Aby wyłączyć wszystkie arkusze stylów:
$('link[rel~="stylesheet"]').prop('disabled', true);
Aby ponownie włączyć wszystkie arkusze stylów:
$('link[rel~="stylesheet"]').prop('disabled', false);
używam the ~=
attribute selector tutaj zamiast =
tak, że selektor będzie nadal działać z arkuszy stylów, gdzie atrybut rel
jest alternate stylesheet
, nie tylko stylesheet
.
Ponadto ważne jest użycie .prop
, a nie .attr
. Jeśli użyjesz .attr
, kod nie będzie działał w Firefoksie. Jest tak dlatego, ponieważ according to MDN,, ale nie są to atrybuty elementu HTML. Używanie disabled
jako atrybutu HTML jest niestandardowe.
znalazłem stwierdzili, że następujące pracował we wszystkich przeglądarkach dla mnie:
CSS Link:
<link rel="stylesheet" href="http://basehold.it/22" data-role="baseline">
JQuery:
$('link[data-role="baseline"]').attr('href', '');
Powyższe spowoduje wyłączenie tylko jednego arkusza stylów, a to może być włączany i wyłączany.
Oto kolejna metoda, którą możesz spróbować zrobić.
$('*[rel=stylesheet]').attr('disabled', 'true');
$('link[rel=stylesheet]').attr('disabled', 'true');
aw drugiej strony usunięcie tego atrybutu
$('link[rel=stylesheet]').attr('disabled', 'false');
$('*[rel=stylesheet]').attr('disabled', 'false');
- 1. Arkusze stylów szyny na Heroku
- 2. Arkusze stylów kolejność priorytetów
- 3. Arkusze stylów JavaDoc
- 4. Ekranowe i mobilne arkusze stylów
- 5. Dynamicznie ładuj i usuwaj arkusze stylów
- 6. jQuery pobiera wszystkie identyfikatory na stronie
- 7. W jakiej kolejności zastępujesz arkusze stylów CSS?
- 8. Dynamicznie dodawaj arkusze stylów CSS do JavaFX
- 9. Ukryj przycisk po kliknięciu (przy istniejącym formularzu na stronie)
- 10. Użyj wielu arkuszy stylów CSS na tej samej stronie html.
- 11. Arkusze stylów AngularJS przełącznika na podstawie danych wprowadzanych przez użytkownika
- 12. W tym arkusze stylów CSS na stronach Jekyll
- 13. jQuery Znikną na stronie/treści po załadowaniu?
- 14. Etykietka Jquery nie znika po kliknięciu pozycji
- 15. Jak prawidłowo wyczyścić wszystkie powiadomienia po kliknięciu?
- 16. Dołącz arkusz stylów xslt na stronie html
- 17. Nagłówki stylów drukowane na każdej stronie
- 18. Arkusze stylów CSS dostawcy w Rails 3.1 i potok zasobów
- 19. Najprostszy sposób na usunięcie wszystkich stylów na stronie
- 20. jquery wstawianie wszystkich arkuszy stylów do iframe
- 21. wyłączyć wszystkie przyciski na stronie
- 22. Zewnętrzne arkusze stylów dla shadow house w komponentach sieciowych
- 23. Wyłącz Przewijanie Po kliknięciu na link
- 24. jQuery ukryj po kliknięciu poza przyciskiem
- 25. Aktualizacja danych (JQuery) po kliknięciu przycisku
- 26. Zmiana linków href po kliknięciu z jQuery
- 27. Wyłącz przycisk po kliknięciu w JQuery
- 28. Jquery show div po kliknięciu linku
- 29. Tworzenie łącza Pogrubiona po kliknięciu z Jquery
- 30. jQuery - Zwiększ wartość licznika po kliknięciu przycisku
Czy istnieje praktyczne zastosowanie tutaj? – user113215
@ user113215 tylko chcę wiedzieć, czy to było możliwe :) – Maverick