짧은 버전
element.setAttribute("required", "");
element.required = true;
jQuery(element).attr('required', '');
$("#elementId").attr('required', '');
element.removeAttribute("required");
element.required = false;
jQuery(element).removeAttr('required');
$("#elementId").removeAttr('required');
if (edName.hasAttribute("required")) { }
if (edName.required) { }
긴 버전
TJ Crowder가 반영된 속성 을 지적한 후 다음 구문이 잘못되었음을 알게되었습니다 .
element.attributes["name"] = value;
element.attributes.name = value;
value = element.attributes.name;
value = element.attributes["name"];
당신은 해야한다 통과 element.getAttribute
및 element.setAttribute
:
element.getAttribute("foo");
element.setAttribute("foo", "test");
이는 특성에 실제로 특수 HtmlAttribute 개체 가 포함되어 있기 때문입니다 .
element.attributes["foo"];
element.attributes.foo;
속성 값을 "true"로 설정 하면 필요한 HtmlAttribute 개체가 아닌 String 개체 로 잘못 설정하는 것입니다 .
element.attributes["foo"] = "true";
element.setAttribute("foo", "true");
개념적으로 올바른 아이디어 (유형화 된 언어로 표현됨)는 다음과 같습니다.
HtmlAttribute attribute = new HtmlAttribute();
attribute.value = "";
element.attributes["required"] = attribute;
이는 이유:
getAttribute(name)
setAttribute(name, value)
있다. 내부에있는 HtmlAttribute 개체에 값을 할당하는 작업을 수행합니다.
여기에 일부 속성이 반영됩니다 . 즉, Javascript에서 더 멋지게 액세스 할 수 있습니다.
element.required = true;
if (element.required) {...}
element.required = false;
당신이 하지 않는 싶은 것은 사용하는 실수입니다 .attributes
모음 :
element.attributes.required = true;
if (element.attributes.required) {...}
element.attributes.required = false;
테스트 케이스
이로 인해 required
속성 사용을 테스트하고 속성을 통해 반환 된 값과 반영된 속성을 비교했습니다.
document.getElementById("name").required;
document.getElementById("name").getAttribute("required");
결과 :
HTML .required .getAttribute("required")
========================== =============== =========================
<input> false (Boolean) null (Object)
<input required> true (Boolean) "" (String)
<input required=""> true (Boolean) "" (String)
<input required="required"> true (Boolean) "required" (String)
<input required="true"> true (Boolean) "true" (String)
<input required="false"> true (Boolean) "false" (String)
<input required="0"> true (Boolean) "0" (String)
.attributes
컬렉션에 직접 액세스하려는 것은 잘못되었습니다. DOM 속성을 나타내는 객체를 반환합니다.
edName.attributes["required"] => [object Attr]
edName.attributes.required => [object Attr]
이것은 당신이 .attributes
수집품에 직접 말하지 말아야하는 이유를 설명합니다 . 속성 의 값 을 조작하는 것이 아니라 속성 자체를 나타내는 객체입니다.
필수 설정 방법?
required
속성 을 설정하는 올바른 방법은 무엇입니까 ? 두 가지 선택, 즉 reflect 속성 또는 속성 을 올바르게 설정하는 방법이 있습니다.
element.setAttribute("required", "");
edName.required = true;
엄밀히 말하면 다른 값은 속성을 "설정"합니다. 그러나 Boolean
속성 의 정의 ""
는 true 를 나타 내기 위해 빈 문자열로만 설정되어야 함 을 나타냅니다 . 다음 메서드는 모두 부울 을 설정 하는 데 사용 됩니다 .required
속성
그러나 사용하지 마십시오 .
element.setAttribute("required", "required");
element.setAttribute("required", "foo");
element.setAttribute("required", "true");
element.setAttribute("required", "false");
element.setAttribute("required", false);
element.setAttribute("required", 0);
우리는 이미 속성을 직접 설정하려는 것이 잘못되었음을 배웠습니다.
edName.attributes["required"] = true;
edName.attributes["required"] = "";
edName.attributes["required"] = "required";
edName.attributes.required = true;
edName.attributes.required = "";
edName.attributes.required = "required";
클리어 방법필수 ?
시도 트릭 제거required
속성은 실수로 컴퓨터를 켭 쉽게 것입니다 :
edName.removeAttribute("required");
edName.required = false;
잘못된 방법으로 :
edName.setAttribute("required", null);
edName.setAttribute("required", "");
edName.setAttribute("required", "false");
edName.setAttribute("required", false);
edName.setAttribute("required", 0);
반사 .required
속성을 사용할 때 "falsey"를 사용할 수도 있습니다. 값을 사용하여 끄고 진실 값을 사용하여 켤 수도 있습니다. 그러나 명확성을 위해 진실과 거짓을 고수하십시오.
방법 확인 을 위해 required
?
.hasAttribute("required")
메소드를 통해 속성이 있는지 확인하십시오 .
if (edName.hasAttribute("required"))
{
}
부울 반영 .required
속성을 통해 확인할 수도 있습니다.
if (edName.required)
{
}
required="false"
그들은 표준을 작성하기 전에 템플릿을 작성한 적이 있는가? 조건부 속성은 속성 값이 부울을 넣어하는 것이 ... 방법 쉽게, 일반적으로 통증이 있습니다