如果div id有$,Jquery不工作

时间:2014-03-05 11:56:03

标签: javascript jquery html

我面临着我的jquery问题。我的div id是$ divid。如果我从我的div id中删除$,那么它工作正常。下面是我的代码。你也可以在提琴手上查看它。 http://jsfiddle.net/Ewdge/34/

<div id="$divid">

    <span>a</span>

    <span>b</span>

    <span>c</span> 

</div>    

<div id="divid2">

    <span>e</span>

    <span>f</span>

    <span>g</span>

 </div>

var itemu = $('#$divid span');

for (var i = 0; i <= itemu.length; i++) {

HTML = itemu[i].innerHTML;

alert(HTML);
}

4 个答案:

答案 0 :(得分:2)

你应该逃避$

$('#\\$divid span');

来自jQuery docs

  

使用任何元字符(例如   !"#$%&'()*+,./:;<=>?@[\]^ {|}。 - ) as a literal part of a name, it must be escaped with with two backslashes: \\

DEMO: http://jsfiddle.net/Ewdge/37/

答案 1 :(得分:1)

您需要使用$

转义\\
var itemu = $('#\\$divid span');
  

使用任何元字符(例如   !“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的字面部分,必须   用两个反斜杠逃脱:\。

Doc reference

答案 2 :(得分:0)

逃脱$ in id.like this:

 var itemu = $('#\\$divid span');
for (var i = 0; i <= itemu.length; i++) {
 HTML = itemu[i].innerHTML;
 alert(HTML);
}

<强> Demo

或使用:

ID="$divid";
var itemu =$('[id=ID]')

答案 3 :(得分:-1)

id名称不能以$开头。它必须以_-或字母开头。