Zastanawiam się, czy istnieje sposób na uzyskanie wartości css z pliku arkusza stylów, gdy nie ma elementu w DOM, który go używa? Używam jQuery i używam selektora $ (".nazwęklasy"). Css(), aby uzyskać wartości. Ale ze sprawą „classname” nie jest w każdym elemencie, co zrobić, aby uzyskać wartość”DziękiUzyskaj wartość css bez elementu DOM
Odpowiedz
Po prostu utwórz element o tej nazwie i sprawdź go. Nawet nie trzeba dołączyć go do DOM:
var $el = $('<div class="classname"></div>');
var opacity = $el.css('opacity') // or whatever
Nawet $el
nie jest rzeczywiście obecny w DOM, nadal uzyskać dostęp do wszystkich swoich właściwości stylu.
Edit: jak wspomniano w komentarzach, to podejście nie zawsze działa zgodnie z oczekiwaniami (np inherited css values niezdefiniowane na .nazwaklasy wyraźnie, selector specificity powyżej .nazwaklasy, etc).
na przykład następujące zawiedzie z powodu #foo
zwiększenie swoistości wyboru poza tym stanowi samodzielny .bar
:
CSS:
#foo .bar { color: red; }
JS:
var $el = $('<div class="bar"></div>');
$el.css('color'); // Expected: "red", Actual: ""
Trzeba przeanalizować style od document.styleSheets
.
Zobacz http://www.hunlock.com/blogs/Totally_Pwn_CSS_with_Javascript który prezentuje podejście międzysektorowe przeglądarki do coraz i dodawanie css dynamicznie.
współpracuje z document.styleSheets
i zarówno IE jest .rules
i każdy inny .cssRules
ma również tę zaletę, że są nieco oderwane więc nie trzeba się martwić o szczegóły.
A więc kolejna odpowiedź na przepełnienie stosu spada połączyć rozpad :( – Gusk
Aby obejść ten problem Chromium , musisz dodać go do treści:
Próbka CSS:
.dummy {
min-width: 50px;
max-width: 250px;
}
Próbka Javascript:
$(document).ready(function() {
var dummy = $('<div class="dummy" style="display: none;"></div>').appendTo('body');
console.log(dummy.css("min-width"));
console.log(dummy.css("max-width"));
dummy.remove();
});
To działa na wszystkich nowoczesnych przeglądarkach, Chrome, FF, IE11.
- 1. Uzyskaj współrzędne ekranu elementu DOM
- 2. JavaScript Uzyskaj wartość elementu
- 3. JavaScript/prototyp: uzyskaj wartości css bez odwoływania się do elementów DOM?
- 4. Uzyskaj zasięg z elementu DOM za pomocą $ compileProvider.debugInfoEnabled (false);
- 5. Uzyskaj wartość konkretnego elementu JSON w Pythonie
- 6. Uzyskaj obliczony rozmiar czcionki dla elementu DOM w JS
- 7. Uzyskaj element DOM elementu iframe z adresem URL:
- 8. Uzyskaj poziom hierarchii elementu DOM (poziomy poziomów potomka)
- 9. Get elementu DOM gdzie tag skrypt jest
- 10. karnetów i uzyskać wartość elementu DOM w module Angular JS
- 11. Uzyskaj losową wartość bez tworzenia obiektu `Losowego`
- 12. DOM Szerokość elementu przed dołączeniem do DOM
- 13. Uzyskaj wartość wybranego elementu dla zdarzenia za pomocą czystego JavaScriptu
- 14. Jak przedłużyć elementu DOM jako klasa (bez jQuery)
- 15. dostać oryginalnego elementu DOM innerHTML bez przetwarzania javascript
- 16. Uzyskaj niestandardowe właściwości css elementu (-mystyle) za pomocą JavaScript
- 17. Jak uzyskać offset(). Najwyższa wartość elementu bez użycia jQuery?
- 18. Kątomierz Uzyskaj wartość modelu
- 19. Nie można wyodrębnić atrybutu "wartość" z pola +/- DOM DOM
- 20. JavaScript - Uzyskaj pozycję elementu tablicy
- 21. Zmień wartość elementu iframe elementu
- 22. Dołączanie elementu DOM dwukrotnie (jQuery)
- 23. Uzyskaj wartość elementu XML w pakiecie Oracle DBMS_XMLDOM
- 24. Uzyskaj domyślną wartość elementu z adnotacji w Javie
- 25. AngularJS - uzyskaj wartości atrybutów elementu
- 26. Pierwsze NullPointerException podczas przekształcania elementu DOM ciąg
- 27. Uzyskaj właściwości elementu VB
- 28. ReactJS - Uzyskaj wysokość elementu
- 29. Uzyskaj odwołanie do elementu bez użycia refs w reakcji
- 30. jquery: uzyskaj wartość niestandardowego atrybutu
Co o dziedziczonych stylów? Zakładam, że można użyć coś takiego '$ („
Awesome Idea ... –
To nie działa w Chrome ... – xpy