jquery .attr 실패에 대한 해결 방법: 1. HTML 샘플 파일을 생성합니다. 2. jquery를 통해 확인란을 작동합니다. 3. attr을 prop으로 바꿉니다.
이 기사의 운영 환경: Windows 7 시스템, jquery 버전 1.2.6, DELL G3 컴퓨터
jquery .attr이 실패하면 어떻게 해야 합니까?
jquery attr 반복 사용 후 실패 문제 해결
오늘 select all 기능을 만들 때 jq의 attr 방식을 사용했는데, 실제로 사용해보니 처음으로 의 기능을 깨달을 수 있었습니다. 모두 선택하고 모두 선택하지 않는
몇번 클릭하면 체크효과가 사라집니다!
먼저 코드를 살펴보겠습니다:
<!DOCTYPE html> <html> <head > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>jquery操作checkbox方法</title> <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript" > //全选 function selectAll() { //方法一: $("input[name='bjjb']").attr("checked",true); //方法二: /**$("input[name='bjjb']").each(function(){ $(this).attr("checked",true); });*/ //获得checkbox的值和文本 $("#checked").html(""); $("#checkedText").html(""); $("input[name='bjjb']:checked").each(function () { $("#checked").append($(this).val()+","); //注意文本一定要元素标签如span否则next得不到值 $("#checkedText").append($(this).next().text()+","); }); } //取消全选 function selectNone(){ //方法一: $("input[name='bjjb']").removeAttr("checked"); //方法二: /*$("input[name='bjjb']").each(function(){ $(this).attr("checked",false); });*/ //获得checkbox的值和文本 $("#checked").html(""); $("#checkedText").html(""); $("input[name='bjjb']:checked").each(function () { $("#checked").append($(this).val()+","); //注意文本一定要元素标签如span否则next得不到值 $("#checkedText").append($(this).next().text()+","); }); } //反选 function selectInvert() { $("input[name='bjjb']").each(function(index,item){ if ($(this).attr("checked")) { $(this).removeAttr("checked"); } else { $(this).attr("checked", true); } }); } </script> </head> <body> <form id="" action="" method="post"> <div > <input type="checkbox" name="bjjb" value="1"/><span>選項一</span></br> <input type="checkbox" name="bjjb" value="2"/><span>選項二</span></br> <input type="checkbox" name="bjjb" value="3"/><span>選項三</span></br> <input type="checkbox" name="bjjb" value="4"/><span>選項四</span></br> <input type="checkbox" name="bjjb" value="5"/><span>選項五</span></br> </div> <div style="margin-top:10px;"> <input type="button" onclick="selectAll()" value="全选" /> <input type="button" onclick="selectNone()" value="全不选" /> <input type="button" onclick="selectInvert()" value="反选" /> </div> <div style="margin-top:10px;"> 选中项:<div id="checked"></div> 选中文本:<div id="checkedText"></div> </div> </form> </body> </html>
작동 효과:
첫 번째(모두 선택하려면 클릭):
두 번째(모두 선택 취소하려면 클릭):
세 번째( 모두 선택하려면 다시 클릭):
클릭했는데 체크가 되지 않습니다. 물론 문제가 있습니다.
여러 번의 검증 끝에 포럼 마스터는 다음과 같이 말했습니다. html 자체의 속성이라면 prop 메소드를 사용하는 것이 가장 좋습니다
jquery 1.8 문서를 확인한 후 prop 메소드도 같은 예를 들 때 사용됩니다:
그러면 위의 내용을 어떻게 바꾸나요?
매우 간단합니다.
attr을 prop으로 바꾸세요. 가서 시도해 보세요! !
추천 학습: "jquery 비디오 튜토리얼"
위 내용은 jquery .attr이 실패하는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!