답변:
이 설정은 속성이 아니므로
속성입니다.
일부 속성은 부울로 정의되므로 값을 지정하고 다른 모든 속성을 생략 할 수 있습니다. 즉, disabled = " disabled " 대신 굵은 체 만 포함합니다. HTML 4에서는 정식 버전이 제한된 지원 기능으로 표시되므로 굵게 표시된 부분 만 포함 해야 합니다 (현재 사양이 작성된 시점에서는 덜 사실임).
HTML 5부터 규칙이 변경되었으며 이제 값이 아닌 이름 만 포함합니다. 이름과 값이 동일하므로 실질적인 차이는 없습니다.
DOM 속성은 라고도 disabled
하고 소요 부울입니다 true
또는 false
.
foo.disabled = true;
이론적으로 당신은 또한 수 foo.setAttribute('disabled', 'disabled');
와 foo.removeAttribute("disabled")
, 그러나 나는 (이에 관해서 버그 악명 있습니다 인터넷 익스플로러의 이전 버전이 믿지 않을 것이다 setAttribute
).
foo
에 foo.disabled = true;
? 그 버튼의 ID입니까?
비활성화
document.getElementById("btnPlaceOrder").disabled = true;
사용하려면
document.getElementById("btnPlaceOrder").disabled = false;
$('#btnPlaceOrder').disabled = false;
.
$('#btnPlaceOrder')[0].disabled = false
jquery 선택기가 배열을 반환하는 것으로 사용 했습니다. 어깨를 으쓱하다.
다음을 시도하십시오 :
document.getElementById("id").setAttribute("disabled", "disabled");
에 disabled
속성 을 설정하는 공식적인 방법 HTMLInputElement
은 다음과 같습니다.
var input = document.querySelector('[name="myButton"]');
// Without querySelector API
// var input = document.getElementsByName('myButton').item(0);
// disable
input.setAttribute('disabled', true);
// enable
input.removeAttribute('disabled');
@kaushar의 답변 은을 활성화 및 비활성화하기에 충분 하지만 HTMLInputElement
IE의 역사적으로 버그 setAttribute
가 있기 때문에 브라우저 간 호환성에 바람직하지만 Element
속성 속성은 shadow Element
속성 이기 때문에 작동 합니다. 속성이 설정되면 DOM은 기본적으로 해당 속성 값 대신 속성 값을 사용합니다.
속성과 속성 간에는 매우 중요한 차이점이 있습니다. 실제의 예 HTMLInputElement
속성 이며 input.value
, 아래의 방법 그림자 작품을 보여줍니다
var input = document.querySelector('#test');
// the attribute works as expected
console.log('old attribute:', input.getAttribute('value'));
// the property is equal to the attribute when the property is not explicitly set
console.log('old property:', input.value);
// change the input's value property
input.value = "My New Value";
// the attribute remains there because it still exists in the DOM markup
console.log('new attribute:', input.getAttribute('value'));
// but the property is equal to the set value due to the shadowing effect
console.log('new property:', input.value);
<input id="test" type="text" value="Hello World" />
이것이 속성이 그림자 속성이라는 것을 의미합니다. 이 개념은 prototype
체인의 상속 된 속성에도 적용됩니다 .
이것이 속성과 속성의 차이점에 대한 혼란을 분명히하기를 바랍니다.
여전히 속성입니다. 설정 :
<input type="button" name=myButton value="disable" disabled="disabled">
... 유효하다.
가장 좋은 방법은 다음과 같습니다.
$("#ctl00_ContentPlaceHolder1_btnPlaceOrder").attr('disabled', true);
브라우저간에 잘 작동합니다.
prop
하지 attr
.
<button disabled=true>text here</button>
여전히 속성을 사용할 수 있습니다. 'value'대신 'disabled'속성을 사용하십시오.
disabled="disabled"
하거나 disabled
. 모든 문자열 값에 해당 "disabled"
포함 disabled="true"
하고 disabled="false"
.