2015-12-15 168 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在不知不覺中做着。現在他們明白了,沒關係。 –

相關問題