2010-01-10 6 views
0

이 설명하는 벽돌 쌓는 어렵다 ... 이상한 클래스 동작. 이

내가이 클래스하지 말았어야 할 때 목록 옵션을 드롭에 적용 가져옵니다 :

.nav_option_main { 
    background-color: #FC9; 
} 

을 나는 두 드롭 목록이,의는 Drp1 그들에게 전화하자 Drp2. Drp2는 javascript를 사용하여 Drp1 : s 값에 따라 채워집니다.

Drp2의 일부 값에는 위의 클래스가 적용되지만 일부는 적용됩니다.

이제 이상한 문제가 있습니다. Drp1을 선택했고 Drp2가 js를 사용하여 옵션으로 채워져 있다고 가정 해 보겠습니다. 그런 다음 Drp2의 옵션 번호 5에 클래스가 적용되어 배경이 변경되고 Drp1이 다른 것으로 변경되면 Drp2 : s 옵션 번호 5가 bgr 색상을 변경하지 않았습니다 (클래스가 캐시 된 것 같습니다). 어쨌든, 그리고 그것에 적용).

또 다른 예 :

나는 Drp1에서 fruits을 선택합니다. Drp2이 채워져 있습니다 (예 : 3 fruits, banana, applelemon). Lemonclass이 적용되어 있다고 가정하면 lemon has a background color! 예를 들어 countriesDrp1으로 선택하고 Drp25 countries으로 채우면 클래스가 적용되지 않은 경우에도 세 번째 국가의 배경색이 변경되지 않습니다. 그 이유는 무엇입니까? 따라서 국가는 US, Canada, France, Russia, China 순으로 될 수 있습니다. 그런 다음 코드에 포함되어 있지 않아도 프랑스는 배경색을 붙입니다.

자세한 정보가 필요하면 알려주세요. 몇 가지 예가 더 있습니다.

답변

1

drp1에 따라 drp2가 변경되는 js에서 옵션 요소를 제거하고 다시 작성 하시겠습니까? 아니면 방금 값을 변경하고 있습니까? 전자가 작동해야합니다. 후자는 요소를 변경하지 않으므로 클래스를 유지하게됩니다.

+0

이 답변을 바탕으로 작성하려면 Drp2의 각 항목을 반복하고'className'을'' " 모든 수업을 치우기 위해서. – mattbasta

+0

어쨌든 모든 요소를 ​​제거하지 않을 경우 –