2012-11-21 532 views
2

我試圖實現'應該'相當直接的東西,我找不到任何東西在線幫助我。從jQuery或javascript字符串中刪除特殊字符(&)

我有一些CSS類名正在輸出與&符號(其下到我使用的系統是不可避免的)。我想使用jQuery的一點點簡單地去掉符號,所以,看起來像字符串:

類=「中東&東」

類=「MiddleEast」

任何與此有關的幫助將非常感激。

感謝

+1

您可以發佈上下文嗎?在HTML中這是'class =「Middle&East」嗎?還是JS?爲什麼用jQuery修改它(因爲它會在客戶端完成)? – nhahtdh

回答

5

要全部替換它們;

$('[class*=\\&]').each(function() { 
    $(this)[0].className = $(this)[0].className.replace(/&/g,"");  
}) 
​ 
+0

這個功能完美!謝謝Alex – user795918

+0

你能解釋一下「/&/ g」是什麼嗎?我從來沒有見過這種符號。 – sbunny

+0

@sbunny這是[正則表達式](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)。 –

0

也許沿

$(".Middle&East").removeClass("Middle&East").addClass("MiddleEast"); 
+1

儘管這會起作用,但我並不總是知道類名是什麼,所以它需要更有活力的一些東西? – user795918

+0

因爲這個問題不夠具體而導致Downvote? – sphair

5

試試:

var class="Middle&East" 
class.replace('&', ''); 
+3

這隻會取代第一次出現。改用'/&/ g'。 –

+0

+1投票它是最簡單的解決方案。 – SaidbakR

+0

+ 1,您可能想要更新全局替換的答案,以防萬一需要 – Abhilash

0

此人似乎對我的作品:

$(function() { 
    $('[class="Middle&East"]').toggleClass('Middle&East MiddleEast'); 
}); 

這裏有一個的jsfiddle:http://jsfiddle.net/U3r7G/

0
var className = $(element).attr('class'); 
var modifiedClass = className.replace('&', ''); 
$(element).attr('class', modifiedClass); 
1

你將不得不逃離&如果你正在使用jQuery

嘗試

$(".Middle\\&East").removeClass("Middle&East").addClass("MiddleEast");

DEMO

通用解決方案,從類名稱中刪除&

$(function(){ 
    $('[class*="&"]').each(function(){ 
     var $this = $(this),cname = $this.attr('class').replace(/&/g,''); 
     $this.attr('class',cname) 

    }) 

}) 
相關問題