2017-11-14 3 views
0

'# * lK36 * kW63 * x1 * t1510689412121569'또는 런타임과 비슷한 요소에 대한 ID가 있습니다.모든 브라우저에서 CSS.escape() 또는 동등 물을 사용하려면 어떻게해야합니까?

Chrome 및 Firefox에서 CSS.escape을 실행하면 작동합니다. 그러나 IE 나 Safari 또는 Edge에서 작동하지 않습니다 (의사가 말한대로).

모든 브라우저에서 CSS.escape (str)을 작동시키는 데 사용할 수있는 편리한 기능/해킹이 있습니까?

+0

https://github.com/mathiasbynens/CSS.escape는 몇 가지 폴리올 중 하나입니다. – epascarello

+0

'요소에 대한 ID가 있습니다. 또는 이와 비슷한 것입니다. '그런 비밀스러운 ID에는 어떤 이점이있을 수 있습니까? 'CSS.escape'와 문자열 구조는이 "ID"가 런타임에 일부 속성으로 구성되며 dev에 의해 정의되지 않는다고 말합니다. 따라서 이상한 ID를 생성하고이 객체를 "찾아야"하는 코드로 전달하는 대신, 객체 자체를 전달하지 않는 것이 어떻습니까? 이드가 전혀 없었다. – Thomas

+0

@ 토마스 그는 여전히 그가 탈출해야하는 ID를 만드는 사람이 아닐 수도 있습니다. –

답변

0

신용

당신은 당신이 모든 브라우저에서 CSS.escape('#*lK36*kW63*x1*t1510689412121569')을 사용할 수있게된다는 점에 https://github.com/mathiasbynens/CSS.escape에서 polyfill을 다운로드 할 수 있습니다 (코멘트에 불구하고)이 게시 @epascarello합니다.

참고 : 처음에는 파운드/해시 기호를 이스케이프 처리합니다. 그것이 ID 자체의 일부인지 아니면 그 뒤에 오는 ID의 선택자인지 확실하지 않습니다.하지만이를 명심해야합니다.

관련 문제