Mam div. Ten div żyje w ramce iframe. Ten div ma szerokość. Chciałbym uzyskać tę szerokość przez jQuery. Załączam niektóre z moich przygód. Proszę, ciesz się!
http://i.imgur.com/AXdfU61.jpg
http://i.imgur.com/Y9MB6Sg.jpg
EDYTOWAĆ - Również dlaczego moja konsola generuje błędy, jeśli zaczynam linię z $?
EDYTUJ 2 - Uproszczono pytanie do podstawowych zasad bez kości.
Odpowiedzi:
1 dla odpowiedzi № 1W jquery możesz zrobić coś takiego:
$("#iframeId").contents().find("#divId").width();
Ponieważ twój element iframe nie ma identyfikatora, zmień golub znajdź to w inny sposób, możesz użyć $ („iframe”), aby wyświetlić listę wszystkich iframe w dokumencie. W odniesieniu do twoich prób, jeśli użyjesz $ (". Span9"), to znajdzie wszystkie elementy z tą klasą, więc musisz także znaleźć inny sposób na uzyskanie twojego elementu.
0 dla odpowiedzi nr 2
Za pomocą $("#IDofDIV").width();
Będziesz musiał użyć identyfikatora zamiast klasy dlaelement, którego rozmiar chcesz zmienić / uzyskać szerokość. Klasy zawierają wiele elementów, mogą istnieć nawet setki elementów o tej samej klasie. Musisz określić, który element, a nie grupę elementów.
Używanie identyfikatora byłoby więc najłatwiejsze, chociaż istnieje wiele innych sposobów.
Oto link do .width();
dokumentacja.
Używasz również ramki iFrame, więc możesz mieć problemy z uruchomieniem skryptów z konsoli. Zobacz pierwszy komentarz pod swoim pytaniem, w którym @PlantTheIdea wyjaśnił to.
0 dla odpowiedzi № 3
Rozwiązałem to. Chociaż moje obejście tego problemu działa, miałem kilka innych problemów z jQuery na mojej stronie. Mianowicie $ nie działa w konsoli. Wiedziałem, że mam odwołanie do jQuery, ale $ nie był prawidłowym obiektem.
Okazuje się, że gdy jQuery działa w trybie bez konfliktu, $ nie jest dostępne w standardowym przypadku użycia. Zamiast tego przekazujesz mu funkcję gotowości dokumentu tak:
jQuery (dokument) .ready (funkcja ($) {
Teraz jest to prawidłowy obiekt i może być używany normalnie. Dzięki temu jQuery może działać w trybie bez konfliktu i nadal mieć dostęp do $
Możesz przeczytać o tym TUTAJ: http://codex.wordpress.org/Function_Reference/wp_enqueue_script
(sekcja Opakowań jQuery noConflict)
Mam nadzieję, że to pomoże komuś!