2011-09-07 3 views
0

내 작업 선택기는 $('div' + chapter + ' img')입니다.jQuery - 내 선택기가 다른 img 요소를 선택 중입니다

<div id="mini_chapter_5" class="mini_chapter" > 
     <div class="illustrationurl"> 
     <img src"../../Img/image.jpg> 
     </div> 
</div> 

그것은 중첩 된 이미지를 선택 않습니다

여기
$('div#minichapter_05 img') 

내가 선택하려고 무엇을 할 수있는 모든 의도와 목적을 위해 너무 var chapter = $('#mini_chapter_' + id); : 여기

는 장에서 무엇인가 요소를 선택하는 것은 이상한 이유이기도합니다. 여기에 표시된 다른 요소 근처에 다른 요소는 없습니다.

<div class="page"> 
    <div class="header"> 
     <div class="title"> 
      <h1> 
      <img runat="server" class="gzk_logo" src="~/Img/gzklogouse.jpg"/> 

왜 이런 일이 벌어지고 어떻게 해결할 수 있는지 말해 줄 수 있습니까?

주셔서 감사합니다 선택이 장처럼 문자열로 객체를 가하고 있습니다에서 아담

+2

'var chapter ='# mini_chapter_5 ''가 아니고 jQuery 객체가 아니어야합니까? 아니면'jQuery.attr ("id")'를 사용하고 싶습니까? –

+3

가능하면'div # minichapter_05' 대신'# minichapter_05'를 사용하십시오. 태그 선택기와 함께 태그 이름을 사용할 이유가 없습니다. – meagar

답변

2
$('#' + chapter.attr('id') + ' img'). 

. 귀하의 경우에 챕터는 문자열이 아니라 객체입니다. 위에서 한 것처럼 챕터의 이드를 넣어야합니다.

+0

당신의 대답이 코드 외에도 몇 가지 설명을 제공한다면 저는 upvote 할 것입니다. 일반적으로 필요한 모든 사람이 코드 인 경우 직접 작성하는 방법을 알고 있습니다. * 왜 * 이것이 올바른지에 대한 설명은 코드보다 더 중요합니다. – meagar

+0

좋아, 편집 됨, 이제 대답은 –

+0

에 해당합니다. '$ ('#'+ chapter.attr ('id') + 'img')'가 더 빠릅니다. – binarious

1

:first을 img 선택기에 추가해보세요. 그렇게하면 첫 번째 img 요소 만 선택하게됩니다. 이 줄은 정말 정확 경우 또는 당신은 $('div#minichapter_05').find('img')

+0

두 번째 해결 방법은 div 요소를 가져 와서 img 요소에 대한 직접 자식 만 검색합니다. – rlemon

1

을 시도 할 수 있습니다 : 당신은 "장"동일한 개체 번호의 mini_chapter_5로 설정하는

var chapter = $('#mini_chapter_' + id); 

.

는에 라인을 변경해보십시오 :

var chapter = '#mini_chapter_' + id; 

텍스트와 같은으로 설정됩니다이 방법을, 당신의 선택에 적절한 삽입을 허용.

관련 문제