2013-02-08 2 views
0

이것은 간단 할 수도 있지만 li 태그 안에있는 img 태그의 src를 변경하고 싶습니다. 4 개의 li 태그가 있고 class가 활성화 된 li 태그 만 img 태그의 src를 변경해야합니다. 활성 클래스를 다음이있는 리튬 변경하는 경우Jquery를 사용하여 img 태그의 src를 변경하는 방법

<ul> 
    <li><img src="example.jpeg" /></li> 
    <li class="active"><img src="Notexample.jpeg" /></li> 
    <li><img src="example.jpeg" /></li> 
    <li><img src="example.jpeg" /></li> 
</ul> 

또한, 리튬 태그 사이에 활성 클래스 토글 ...이 시도 ...

$("li.active img").attr("src", "notexample.jpg"); 

+1

"수"? : p – Archer

+0

왜 두 번 질문을 게시하고 있습니까? – asifsid88

+1

@Archer 자동 생성 된 메모. 그것은 모호한 유사한 질문보다는 정확한 재 게시임을 지정할 수있는 방법이 없습니다. –

답변

1
... 
... 
//code where you are changing the class 
... 
... 

$('li').each(function() { 
    if($(this).attr('class').indexOf("active") !== -1) 
    { 
     //Active class is applied 
     $(this).children().children().attr("src", "assets/img/button_home_selected3.png"); 
    } 
    else 
    { 
     $(this).children().children().attr("src", "assets/img/button_home_plain.png"); 
    } 
}); 

... 
... 
+0

'비활성'클래스의 'li'가 있다면 어떻게됩니까? – Archer

+0

그는 '비활성'클래스도 지정 했습니까? – asifsid88

+1

jQuery에는'.class()'함수가 없습니다. 'this.className' 또는'$ (this) .attr ('class')'를 찾고 있습니다. –

1

를 원본을 변경하는 그 코드를 다시 실행해야합니다.

이 작업을 수행, 그것은 활성 클래스를 잃을 때 다시 SRC를 변경하려면

...

$("li:not(:has(.active))".attr("src", "example.jpg"); 
+0

이것은 조금 늦게 들릴지 모르지만 나는 li 태그가 동적으로 추가된다는 것을 잊어 버렸다. 첫 번째 li 만 사용 가능하고 active와 나머지 세 가지 나중에 추가되므로 모든 태그에 대해 한 번만 작동하지만 한 번만 수행됩니다. – Hunain

+0

요소를 동적으로 추가 할 때는 위의 작업을 * 한 번만하면됩니다. – Archer

+0

그들은 변경하고 있지만 클릭 할 때 src는 li 태그 사이를 토글하기 때문에 활성 클래스의 변경으로 변경해야합니다. – Hunain

1

당신은 JQuery와의 descendant selector를 사용하여 attr() 함께 할.

$('li.active img').attr('src', 'newval') 
+0

이것은 약간 늦은 것 같지만, li 태그가 동적으로 추가되었다는 사실을 알려주지 않았다는 사실을 잊어 버렸습니다. 첫 번째 li 만 사용 가능하고 활성화되어 있고 나머지 세 개는 나중에 추가되므로이 작업은 한 번만 수행되지만 다른 작업은 수행하지 않습니다. 모든 태그에 대해 ... – Hunain

+0

img의 src를 어디에서 변경 하시겠습니까? – Adil

관련 문제