2017-01-04 119 views
0

我預計選擇器將是$("a.3")但它不是。在選擇器中連接

var giftId = '3'; 
$("a."+giftId).click(function() { 
    ... 
}); 

我不能這樣做嗎?

即使類名是不是數字開頭仍不能串接

<a class="gift6"... 

    var giftId = '6'; 
    $("a.gift"+giftId).click(... 

回答

2

你不能與一個號碼,這可以解釋爲什麼這是行不通的開始上課。

https://www.w3.org/TR/CSS2/syndata.html#value-def-identifier

在CSS中,標識符(包括元素名,類和在 選擇器的ID)可以只包含字符[A-ZA-Z0-9]和ISO 10646 字符U + 00A0和更高,加上連字符( - )和下劃線 (_);他們不能以數字,兩個連字符或連字符跟着 一個數字開頭。標識符還可以包含轉義字符和任何ISO 10646字符作爲數字代碼(參見下一項)。例如, 標識符「B & W?」可寫成「B \ & W \?」或「B \ 26 W \ 3F」。

+0

好的,這個'var giftId ='6'; $(「a.gift:」+ giftId).click(... \t'?這仍然不連接,類名不以數字開始 – thinker

+0

@thinker'6'不是有效的僞類,所以你不能這樣做 – Curt

+0

@thinker我會建議在你的元素data-giftid上有一個data屬性,然後你可以這樣做:'$(「a.gift [data-giftid =」+ giftId +「]」)' – Curt