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