/ / Określ w pragmatyczny sposób szerokość div w ramce iFrame za pomocą jQuery - jquery, html, iframe, width

Określ w pragmatyczny sposób szerokość div w ramce iFrame za pomocą jQuery - jquery, html, iframe, width

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 № 1

W 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ś!