jquery 라디오나 체크박스의 정확한 자세를 선택하십시오
Intro
며칠 전에 갑자기 문제가 생겼어요. 아무런 징조도 없었어요...jquery가 라디오 button 단일 선택 상자를 선택했을 때 선택할 수 없었습니다. 나중에 많은 자료를 찾았는데 자신의 자세에 문제가 있다는 것을 발견했습니다.
Issue
내가 아래의 방식대로 라디오를 선택했을 때, 때때로 선택하지 못할 때가 있다는 것을 발견했다.
다음은 제 js 코드입니다.
// jquery.js
...
$("input[type='radio'][name='isOnSale'][value='1']").attr("checked","checked");
Solution0
attribute와property 구분
attribute와property는 다르다
property는 html 라벨의 고유한 속성이고attribute는 대부분 html 사용자 정의 속성이다.
attribute는 html 문서의 탭 속성이고property는DOM 요소에 대응하는 자체 속성입니다.조작 방법에서 볼 때attribute는DOM규범
getAttribute
과setAttribute
를 통해 수정할 수 있고,property는 대상이 속성에 접근하는 방식.
이나 [""]을 통해 수정할 수 있다.jquery에서attribute를 가져오거나 설정하는 것은attr
, 가져오거나 설정하는 것은prop
Property DOM 노드는 하나의 대상이기 때문에 자바스크립트의 대상처럼 사용자 정의 속성과 방법을 저장할 수 있습니다.
Attribute
DOM 노드는 다음과 같은 표준 방법으로 HTML의attribute에 접근할 수 있다
elem.hasAttribute(name) - checks if the attribute exists
elem.getAttribute(name) - gets an attribute value
elem.setAttribute(name, value) - sets an attribute
elem.removeAttribute(name) - removes an attribute
checked는 input 탭의 속성 (property) 이지 attribute가 아닙니다. 참고http://www.w3school.com.cn/tags/att_input_checked.asp
추가
input
와 관련된 속성은 다음과 같습니다.http://www.w3school.com.cn/tags/tag_input.asp Solution1
HACK:mock click
선택한 후 호출 대상의 클릭 () 방법을 설정하고 아날로그 클릭
//toogle
$("input:radio[name='isOnSale'][value='1']").click();
Solution2
input의 checked 속성 설정
원생 js
//check
document.getElementsByName("isOnSale")[0].checked = true;
//uncheck
document.getElementsByName("isOnSale")[0].checked = false;
jquery
//
$("input[type='radio'][name='isOnSale'][value='1']").prop("checked",true);
More
만약 당신이 다른 더 좋은 해결 방안이 있다면 지적을 환영합니다.
질문이 있으면 연락 주세요[email protected]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.