는, 예를 들어, 성공적으로DOM에서 스택 요소를 어떻게 확장합니까?
Element.prototype.ancestorByTagName = function(tagName) { ... }
을 Element
의 연장하고 있지만, 구체적으로 확장하는 방법을 알아낼 수없는 Select
요소, 예를 들어
, 다음의 각 실패 :
Select.prototype.appendOption = function(value, label, select_value) { ... }
Element.Select.prototype.appendOption = function(value, label, select_value) { ... }
오전을 손실. 단지 Select
가 Option
아이를 가질 수 있기 때문에이 경우
는 모든 Element
의 대 Select
에 새로운 방법 appendOption
을 제한하는 의미가 있습니다. Select
의 add
방법은 꽤 절름발이입니다. 여기
어떤 브라우저를 타겟팅하고 있습니까? 모든 브라우저가 동일한 상속 모델 또는 상속 모델을 구현할 것을 기대하는 것은 약간 야심적입니다. Kangax 's를 읽었습니까 * DOM 확장에있어 문제점은 무엇입니까? (http://perfectionkills.com/whats-wrong-with-extending-the-dom/)? – RobG
흥미 롭습니다. http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980 – mplungjan
@RobG - 크롬 후에 그리고 어쩌면 파이어 폭스. 절대적으로 dom을 확장하는 위험에 동의합니다. 대부분의 경우 작업을 격리하기 위해 명명 구조를 사용합니다. 이 경우에는 지적인 운동을하는 것이 중요하다. 필자가 인식하는 것을 채우는 것은 매우 기본적인 기능이다. –