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

DOM element selection by id with special symbols

本文关键字:id 选择 DOM 元素 特殊符号      更新时间:2023-09-26

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

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

在某些时候,我从后端收到未知的id名称,我必须找到具有该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. 
(我的问题)


是否有一种方法可以强制这些选择器(或您的选择器建议的任何其他选择器)不将选择器参数作为表达式使用?有办法做出这样的选择吗?

感谢您的宝贵时间!

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

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

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