목록 항목 (li)으로 체크리스트를 구현하고 싶습니다. 나는 데이터 검사 속성을 사용하여 검사 상태를 유지합니다. 나는 css selector ('true'= black과 'false'= white color)로 아이콘 색상을 설정했다.jQuery로 값을 수정 한 후 데이터 속성이 적용되지 않습니다.
페이지가 표시되면 모든 작업의 기본 데이터 확인 값이 'false'이므로 모든 작업에 흰색 아이콘이 표시됩니다. 그러나 목록 항목을 클릭하면 데이터 확인 값이 'false'로 수정되지만 색상은 검정색으로 변경되지 않습니다.
경고를 통해 값을 확인했습니다. 그들은 적절합니다.
내가 뭘 잘못하고 있니?
감사합니다.
HTML :
<ul>
<li data-id='1' data-checked='false' onclick='toggle_task(this);'>
<i class='fs fa-check'></i>
<span>Task A</span>
</li>
<li data-id='2' data-checked='false' onclick='toggle_task(this);'>
<i class='fs fa-check'></i>
<span>Task B</span>
</li>
</ul>
<button onclick='show_checked();'>Done</button>
CSS :
ul li[data-checked='true'] i:first-child {
color: #000000;
}
ul li[data-checked='false'] i:first-child {
color: #eeeeee;
}
자바 스크립트 : 나는 당신이 당신의 CSS의 일부로 사용하는 HTML data-* attributes (사이에 혼란이되었다 생각
function toggle_task(sender) {
if ($(sender).data('checked').toString == 'true') {
$(sender).data('checked','false');
} else {
$(sender).data('checked','true');
}
}
function show_checked() {
$(li).each(function() {
var text = $(this).data('id').toString() + ': ' + $(this).data('checked').toString();
alert($(this).data('checked'));
});
}
질문을 이해하지 못했습니다. 당신이 원하는 것을 말해주십시오 –
작동 피들 제발 .. – 4dgaurav
자바 스크립트 (클릭 한 후)에 의해 변경되는 CSS 및 데이터 속성으로 아이콘 색상을 설정하고 싶습니다. 예를 들어, 목록 항목을 클릭하면 'true'와 'false'사이의 데이터 확인 값이 토글됩니다. 아이콘은 CSS 세트와 같이 색상이 변경되지만 변경되지는 않습니다. – guneverdie