我有一些节点可能偶尔会在其 ID 属性中包含一个点,
例子:<div id="site_someSite.com"></div>
然后我需要选择这个元素(我正在使用 jQuery),我这样做:
variable = $('#site_'+user);
用户存在'someSite.com'
我在变量中什么也没得到。我想这是由于 jQuery 作为一个类接受的名称中的点。任何人都知道如何在不使用点的情况下解决这个问题?
您可以使用它,但通过反斜杠将其转义,例如$('#example\\.afterdottext');
要使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为名称的文字部分,它必须用两个反斜杠转义:\。
使用属性选择器1:
var site = 'someSite.com';
var variable = $('[id="site_' + site + '"]');
// do something
variable.css('background', 'yellow');
参考:
如果您只需要按 选择id
,那么您可以使用document.getElementById
:
var div = document.getElementById('site_'+user);
请注意,这显然会给出一个原生 DOM 元素。如果你需要一个 jQuery 选择,你可以将它包装在 jQuery 构造函数中:
var div = $(document.getElementById('site_'+user));
这具有更快的额外优势!显然,如果您的选择器中还有其他内容,它将无法正常工作。