2014-07-19 2 views
0

나는 id에 의해 DOM 요소를 선택하는 방법을 알아 내려고합니다. id는 뭔가 못생긴 것입니다. 백 엔드에서 어떤 점에서특수 기호로 id에 의한 DOM 요소 선택

<element id='[$something:else#52,$someth:else#51]'> 

나는 나 ID 이름을 알 수없는 수신 그리고 난 그 ID로 DOM 요소를 찾을 수있다 : 여기에 ID의 예입니다.

내가 좋아하는 jQuery를 사용하여 tryed있다 :

$('#' + elementId) //where the elementId is a string from the example above 

하지만, jQuery를 반환 :

document.querySelectorAll('#' + elementId) //with the id from above 

다시 오류가 발생합니다 :

Error: Syntax error, unrecognized expression: #[$something:else#52,$someth:else#51] 

나는 또한 문서 선택기를 사용하는 tryed있다 :

,

[내 질문]
표현과 선택 인수를 treath하지 (당신이 선택에 의해 제안 또는 기타)이 셀렉터를 강제 할 수있는 방법이 있습니까? 그런 선택을 할 수있는 방법이 있습니까?

감사합니다.

+0

내가 잘못 될 수도 있습니다 (하지만이 시도 가치) ...'[]'입니다 (요소 가정은 사업부입니다) 배열이 작동하지 않는 이유 일 수 있습니다. 신분증에 문자, 하이픈 및 밑줄 만 사용하십시오. 아마 당신이 사용할 수있는 다른 것들이있을 것입니다. –

+1

http://alexandregiannini.blogspot.in/2011/05/escaping-strings-for-jquery-selectors.html에 메타 문자 모양을 사용하여 이스케이프 처리하고 있습니다. – Satpal

답변

0

당신은 이런 식으로 선택할 수 있습니다

$('div[id="[$something:else#52,$someth:else#51]"]')....; 

또는

var id = '[$something:else#52,$someth:else#51]"]'; 
$('div[id="' + id + '"]')....; 
+0

그건 작동하지 않습니다. – putvande

+0

@putvande 물론 가능합니다. [fiddle here] (http://jsfiddle.net/pRV7H/)를 참조하십시오. 그게 당신의 투표 였다고 생각합니다. –

+0

@Stephen Muecke 이것이 진드기 m8을 할 것 같습니다, 도움을 많이 주셔서 감사합니다. 그러나 나는 여전히 문제가 있습니다. "[$ something : else # 52, $ someth : else # 51]"이 변수 일 때 동일한 접근법을 사용하는 방법을 알려주십시오. 예 : - var searchId = "[$ something : else # 52, $ someth : else # 51]" 이 경우 $ ('div [id ='+ searchId + ']')는 제 문자열을 인용 부호없이 추가하기 때문에 작동하지 않습니다. searchId가 변수 인 경우 대답을 편집 할 수 있습니까? 감사! –

관련 문제