2012-05-21 2 views
4

내가 생성하는 iframe 내에서 HTML을 선택하고 수정하는 방법을 알아 내려고하고 있습니다. iframe에는 다양한 미디어 (이미지, pdf 등)가 표시됩니다.jquery를 사용하여 iframe 내에서 태그를 선택하는 방법은 무엇입니까?

$('#mydiv').html("<iframe id='myiframe' src='path/file.jpg'></iframe>"); 

을 필요에 따라 다음, 같은 것을 사용하여 그 내용 업데이트 : 다른 항목을 표시하려면, 나는 처음에이 같은 것을 사용하여 만들

$('#myiframe').attr("src","path/newfile.jpg"); 

는이 같은 HTML을 생성 (본) 크롬의 요소 뷰어를 통해 :

<div id='mydiv'> 
    <iframe id='myiframe' src='path/file.jpg'> 
    #document 
     <html> 
     <body style="margin:0"> 
      <img style="-webkit-user-select:none" src="path/file.jpg"> 
     </body> 
     </html> 
    </iframe> 
</div> 

나는 그 폭을 조정할 수 있도록 동적으로 생성 <img> 태그를 선택합니다. 하지만 그것을 할 jquery 선택자를 알아낼 수 없습니다. 아이디어?

+1

jpg이가 iframe에 아니라 배경 이미지가있는 IMG/DIV에 포함되고있는 이유가 무엇입니까? – circusdei

+0

왜'img'가 아닌'iframe' 이미지입니까? – Jashwant

+0

* iframe에는 다양한 미디어 (이미지, pdf 등)가 표시됩니다. * – Blender

답변

12

jQuerys contents 메서드를 사용하십시오. 문서에는 "iframe 내부의 링크 배경색 변경"이라는 제목의 예가 있습니다.

일치하는 요소 집합에있는 각 요소의 자식을 텍스트 및 메모 노드를 포함하여 으로 가져옵니다.

은 코드에 적용 :

var images = $('#myiframe').contents().find('img'); 

진짜 문제는 왜 첫번째 장소에있는 iframe이 필요합니까입니까?

+0

정답, +1. 그리고 몇 초 더 빨라요! – adeneo

+0

+1을 참조 했으므로 :) – Jashwant

0

컨테이너의 이미지를 동적으로 변경하려는 경우 iframe이 필요하지 않습니다.

src 속성을 업데이트 할 수있는 자신의 html에 img 태그가 필요합니다.

$('#my-image') 
    .attr('src', '/path/to/image') 
    .attr('width', '100px') 
    .attr('height', '100px'); 

이미지에 대한 iframe 만 생성해야하는 충분한 이유가 없다면 예외입니다. 다른 도메인에서 URL을 호출 할 때 이와 같은 iframe을 사용하면 특히 고통 스러울 수 있습니다.

4
먼저 iframe이 내용을 얻을 필요가

:

$("#myiframe").contents().find('img'); 
+0

+1 bcoz의 정확한 :) – Jashwant

관련 문제