Jquery错误:语法错误,无法识别的表达式

时间:2015-12-15 18:20:53

标签: javascript jquery css syntax

这是我的HTML:

calc.id = this.stringID;

这是我的JS(Jquery):

<div class="dropdown-text" id="dropdownopen" onclick="dropdownopen(0)">
    <div class="inside">+ Show Content</div>
</div>

<div class="dropdown" id="dropdownnum(0)">
     <div class="inner">INSERT DROPDOWN CONTENT IN HERE</div>
</div>

#dropdownnum(0)div是display:none;默认情况下,这应该可行,但我收到错误:

未捕获错误:语法错误,无法识别的表达式:#dropdownnum(0)。

2 个答案:

答案 0 :(得分:1)

(和)需要转义。

function dropdownopen(param) {
    $('#dropdownnum\\('+param+'\\)').fadeOut(300);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown-text" id="dropdownopen" onclick="dropdownopen(0)">
    <div class="inside">+ Show Content</div>
</div>

<div class="dropdown" id="dropdownnum(0)">
     <div class="inner">INSERT DROPDOWN CONTENT IN HERE</div>
</div>

但是你真的应该为你的id选择一个不同的命名方案,所以你不必这样做。

答案 1 :(得分:0)

您不能在(的值中包含)id等特殊字符。请尝试将您的代码更改为:

<div class="dropdown-text" id="dropdownopen" onclick="dropdownopen(0)">
    <div class="inside">+ Show Content</div>
</div>

<div class="dropdown" id="dropdownnum-0">
     <div class="inner">INSERT DROPDOWN CONTENT IN HERE</div>
</div>

function dropdownopen(param) {
    $('#dropdownnum-'+param).fadeOut(300);
}