我试图弄清楚如何通过它的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.
[我的问题]
有没有办法强制这些选择器(或您选择器建议的任何其他选择器)不将选择器参数作为表达式进行处理?有没有办法做出这样的选择?
感谢您的时间!
答案 0 :(得分:0)
你可以这样选择它(假设元素是div)
$('div[id="[$something:else#52,$someth:else#51]"]')....;
或
var id = '[$something:else#52,$someth:else#51]"]';
$('div[id="' + id + '"]')....;