jQuery选择包含点的ID

时间:2013-06-20 15:10:02

标签: jquery html css

我有一些节点,偶尔可能在其ID属性中包含一个点,

示例:<div id="site_someSite.com"></div>

然后我需要选择这个元素(我正在使用jQuery)并且我这样做:

variable = $('#site_'+user);用户为'someSite.com'

我在变量中什么都没得到。我想这是由于jQuery作为一个类接受的名称中的点。任何人都知道如何在不使用点的情况下解决这个问题吗?

4 个答案:

答案 0 :(得分:6)

您可以使用它,但可以通过反斜杠转义它,例如$('#example\\.afterdottext');

As per docs

  

使用任何元字符(例如!“#$%&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)

你可以这样做 -

variable = $('#site_'+user.replace(/\./g,'\\.'));

演示---> http://jsfiddle.net/wdJka/2/

答案 3 :(得分:4)

如果您需要做的只是id选择,那么您可以使用document.getElementById

var div = document.getElementById('site_'+user);

请注意,这显然会提供原生DOM元素。如果需要jQuery选择,可以将它包装在jQuery构造函数中:

var div = $(document.getElementById('site_'+user));

这具有更快的额外优势!显然,如果选择器中还有其他内容,它将无效。