정말 간단하게하려고했는데 코드를 디버깅하기 시작했을 때, 내가 그것을 보았을 때까지 무엇이 잘못되었는지 알지 못했습니다. 이 간단한 기능은 Firefox 나 IE 11에서는 작동하지 않지만 Chrome에서는 작동한다고 믿을 수 없습니다.파이어 폭스와 IE 11의 jquery css 함수의 이상한 동작
2 개의 CSS 클래스가있는 div 요소가 있다고 상상해보십시오.
<div id="box" class="class1 class2"></div>
여기서 class2는 border-top 속성을 갖습니다.
.class2 {
border-top: 1px solid #626262;
}
이제이 상자 div에 border-top 속성이 있는지 확인하고 싶습니다.
당신이 생각하는 우선입니다 :
$("#box").css("border-top")
오른쪽? border-top 속성을 반환합니다 (있는 경우). 이것은 Chrome에서 작동하며 border-top 속성을 반환합니다 ... Firefox에서 IE 11은 빈 문자열을 반환합니다. 어떻게 가능합니까?
무엇이 잘못 될지 알고 싶습니다. 또는 다른 모든 방법으로 모든 브라우저에서 가져올 수 있습니까?
미리 감사드립니다.
EDITED : 나에게 효과가있는 뭔가 다른 일을 끝 냈지만 아무런 관련이 없습니다. 방금 테두리의 너비에주의를 기울 였고 너비가 0px가 아닌 값을 적용합니다. "0px none # 000000"으로 아무런 이유없이 다른 기본 테두리 스타일을 사용했기 때문에 더욱 의미가 있습니다.
각 브라우저에는 요소 스타일을 계산하는 고유 한 방법이 있습니다. 자, 대신 수업을 확인해 보는게 어때? callAnyMethod()' –
이건 동적 일 뿐이에요. 모르겠어요. '($ ("# box"). hasClass ('class2 '))'$ ('# box.class2 ' DOM 요소에 추가 할 수있는 클래스 그래서 직접 재산 자체를 확인해야합니다. – msqar
소리가 xy 문제와 같습니다. 어쩌면 문제를 더 잘 설명 할 수 있습니다. 계산 된 스타일을 확인해야하는 이유는 무엇입니까? –