/ / Determine pragmaticamente a largura de uma div dentro de um iFrame via jQuery - jquery, html, iframe, width

Determinar pragmaticamente a largura de uma div dentro de um iFrame via jQuery - jquery, html, iframe, width

Eu tenho uma div. Essa div vive dentro de um iframe. Essa div tem uma largura. Gostaria de obter essa largura via jQuery. Em anexo estão algumas das minhas aventuras ao fazê-lo. Por favor aproveite!

http://i.imgur.com/AXdfU61.jpg
http://i.imgur.com/Y9MB6Sg.jpg

EDITAR - Além disso, por que meu console gera erros se eu iniciar qualquer linha com $?

EDIT 2 - Simplificou a questão para o básico dos ossos.

Respostas:

1 para resposta № 1

No jquery você pode fazer algo assim:

$("#iframeId").contents().find("#divId").width();

Como seu iframe não possui um ID, altereou, por outros meios, você pode usar $ ("iframe") para listar todos os iframes no seu documento. Em relação às suas tentativas, se você usar $ (". Span9"), ele encontrará todos os elementos dessa classe; portanto, você também precisará encontrar outra maneira de obter seu elemento.


0 para resposta № 2

Usando $("#IDofDIV").width(); Você precisará usar um ID em vez de uma classe parao elemento que você deseja redimensionar / obter a largura de. As classes abrigam muitos elementos; pode até haver centenas de elementos com a mesma classe. Você precisa especificar qual elemento, não um grupo de elementos.

Portanto, usar um ID seria a coisa mais fácil, embora existam muitas outras maneiras.

Aqui está um link para .width(); documentação.

Além disso, você está usando um iFrame para ter problemas ao executar scripts no console. Veja o primeiro comentário em sua pergunta, onde @PlantTheIdea deu uma explicação para isso.


0 para resposta № 3

Eu resolvi isso. Embora minha solução alternativa para esse problema esteja funcionando, tive vários outros problemas com o jQuery no meu site. Ou seja, o $ não está funcionando no console. Eu sabia que tinha jQuery referenciado, mas $ não era um objeto válido.

Acontece que quando o jQuery está sendo executado no modo sem conflito, o $ não está disponível no caso de uso padrão. Em vez disso, você passa a função de documento pronto da seguinte maneira:

jQuery (documento) .ready (função ($) {

Agora é um objeto válido e pode ser usado normalmente. Isso permite que o jQuery seja executado no modo sem conflito e ainda tenha acesso ao $

Você pode ler sobre isso AQUI: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

(seção Wrappers do jQuery noConflict)

Espero que isso ajude alguém!