2015-12-15 146 views
0

这是我的HTML: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> 

这里是我的JS(jQuery的):

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

的#dropdownnum(0)DIV为显示:无;默认情况下,所以这应该工作,但我得到的错误:

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

+0

您的ID的命名将导致问题。考虑使用类或只是dropdownnum1,dropdownnum2等 – Cory

回答

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); 
} 
+0

太棒了!这工作。我没有意识到这一点。 :) – Sammyjo20

+0

@ Sammyjo20不客气。请在5分钟内接受我的回答。 –

+0

(和)可以使用... – epascarello

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的不同的命名方案,以便您不必这样做。

+0

有你的投票,最好让我们不要为这个愚蠢的事情辩论。最好避免这种写作价值的方式。你也同意这一点。 ':)'OP在不知不觉中做着。现在他们明白了,没关系。 –

相关问题