& 내용을 닫을 때 위/아래로 넘기는 화살표가있는 머리글의 실시간 클릭 이벤트가 있습니다.이상한 데이터 속성 부울 문제
가장 이상한 일은 !
다음에 변수 (true -> false, 또는 그 반대)를 뒤 따르는 것입니다. 기본적으로 그것은 전혀 작동하지 않으며 거짓으로 뒤집혀서 거기에 머물러 있습니다 ... 내가 무슨 뜻인지 알아보기 위해 바이올린을 확인하십시오.
간결함을 위해 많은 코드를 삭제했습니다. 나는 다음과 같은 경우
$(document).on('click', '.regimenHeader', function() {
var _state = $(this).attr('data-state');
if (_state === 'true') {
// do stuff
}
else {
// do stuff
}
// This is where the issue is happening, it isn't flipping the Boolean value
// !"true" = false, !true = false, it works with strings or booleans
$(this).attr('data-state', !_state);
});
나는 그것을 완벽하게 잘 작동 얻을 수 있습니다 :이가 정상적으로 작동하지 왜 내가 부족 뭔가
if (_state === 'true') {
// Manually flip the data-state boolean
$(this).attr('data-state', false);
}
있습니까? ? 왜 이런 일을하는지 궁금해!
다음에()'하하. 나는 단순히'[data-state]'에서 볼 수 있기를 원했기 때문에 모든 헤더를 루핑하는 대신에'.data ('state') === true 등이 있는지를 보면서 모든 것을 검색 할 수 있었다. 도움을 감사! –
글쎄, 만약 당신이 요소에 어떤 정보를 가지고 있다면 도움이된다.'.data()'는 아마 당신이 찾고있는 것이다. :) 만약에 당신이 약간의 성능 테스트를보고 싶다면 : http://jsperf.com/jquery-data-vs-attr/22 – NicoSantangelo