2013-10-16 27 views
3

有沒有一種方法可以自動轉義jQuery變量中的字符? 我的變量是這樣的:將轉義字符添加到jquery變量中

var $name = $(this).prev().attr('name'); 

事情會很麻煩,因爲現在名下有方括號。因此,當我嘗試這樣做時:

$('input:radio[name='+$name+']').next().addClass('so_pretty'); 

由於JavaScript從所有括號中引起混淆,因此會引發JavaScript。

無論如何在飛行中添加這些逃逸斜線?

感謝, 利奧

回答

5

把它包在引號中,使焦炭元問題不會發生,因爲[]metachars一個jQuery選擇。

$('input:radio[name="'+$name+'"]').next().addClass('so_pretty'); 
        ^__  ^___ 
+0

如果名稱中包含一個'「'?這在一個通用的方式適用於所提出的問題,而不是守衛真正的任意屬性過濾器的一般性的解決方案。 – user2864740

+0

@ user2864740您可以使用前綴與他們發生了什麼雙斜槓使用正則表達式替換,不僅適用於所有元字符的''''。 – PSL

+0

它似乎應該有一些現有的功能,將適用於此:> – user2864740