带有特殊符号的id选择DOM元素

时间:2014-07-19 10:31:52

标签: javascript jquery dom

我试图弄清楚如何通过它的Id来选择一个DOM元素,其中id是丑陋的东西。以下是id的示例:

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

在后端的某个时刻,我收到了身份名称未知的内容,我必须找到带有该ID的DOM元素。

我尝试使用jQuery,如:

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

但是jQuery返回:

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

我还尝试使用文档选择器:

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

再次导致错误:

SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '#[$something:else#52,$someth:else#51]' is not a valid selector. 

[我的问题]
有没有办法强制这些选择器(或您选择器建议的任何其他选择器)不将选择器参数作为表达式进行处理?有没有办法做出这样的选择?

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

你可以这样选择它(假设元素是div)

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

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