• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

elem.matches()의 매개인자부분에서 질문드립니다.

20.03.10 03:52 작성 조회수 93

1

else if(elem.matches('[data-name="bookmark"]')){}

의 부분에서 왜 data-name 부분을 []로 감싸야 적용이 되는지 알고 싶습니다. (없이하니 에러가 발생하는데 왜 []를 감싸지 않으면 js에서 인식하지 못하는 걸까요?)

답변 2

·

답변을 작성해보세요.

2

안녕하세요 영찬님! kindtiger입니다 :)

matches() 의 mdn 문서를 보시면 

var result = element.matches(selectorString);

selectorString을 받아오리고 되어있어요 ㅎㅎ 말그대로 선택자 문자열이기때문에 우리가 css에서 선택자를 잡는 방법과 동일하게 가져오도록 되어있습니다. 

css에서 .foo 를 잡았다면 가져오는것도 element.matches(.foo) 가 되고,

css에서 data-name선택자를 잡을경우 는 [data-name="foo"] 로 잡기때문에 똑같이 matches에서도 동일합니다.

https://developer.mozilla.org/en-US/docs/Web/API/Element/matches

1

조영찬님의 프로필

조영찬

질문자

2020.03.10

아 도큐먼트읽어볼생각을 못했네요 답변감사합니다 ^^