을 제공 I 다음 코드 (더미)이 있습니다 param1
이있는 경우 어떻게해야 무엇JS - document.querySelector() || document.querySelector는() 타입 에러
myFunction(document.querySelector('[data-param="param1"]').textContent || document.querySelector('[data-param="param2"]').textContent);
가있다 하나는, 다른, falsy
의 사용을 이용하여 param2
를 사용하는 것이 사용 . 나는 이것을 사용하는 것이 최선이 아니라는 것을 알고 있지만 (here 참조), 내 상황에 대해 생각해 냈습니다.
이것을 설명하기 위해 jsfiddle을 만들려고했습니다. 그러나 이것은 두 개의 다른 브라우저 (묻지 않음)를 사용하고 있기 때문에 콘솔에서 다른 표현 일 수는 있지만 오류는 잘못되었습니다.
TypeError: document.querySelector(...) is null
와 크롬에서 말한다 :
화재에서버그는 말한다
TypeError: Cannot read property 'your-property-here' of null
내가 나는 그것이 document.getElementById('param1') || document.getElementById('param2')
작업을했다고 생각하지만, 무엇 jsfiddle가주고 것은하지 않는 것 querySelector
또는 getElementById
에서 작업하십시오.
이이 기능이나 버그가 ... 은 내가 docs에 이것에 대해 아무것도 찾을 수 없습니다
, 내 구글은 아무것도 찾지 못했습니다 검색 하시나요? querySelector
(또는 getElementById1
등)에 falsy
값을 악용 할 수있는 이벤트가 있습니까? 내가하고 싶은 일을하는 가장 좋은 방법은 무엇일까요?
귀하의 피들에있는 코드는 매우 다릅니다 : 'document.querySelector (something)'속성을 사용하고 있습니다.물론 요소가 없을 때는 작동하지 않습니다. –
@ DenysSéguret는 주저하며, 그것을 고쳤습니다. – 4lackof