2012-07-25 105 views
-1
<span class="here one-two-sdfs test">click1</span> <br /> 
<span class="here one-two-3er te3st">click2</span> <br /> 
<span class="here one-two-sdwrer test">click3</span> <br /> 
<span class="here one-two-s-ere test">click4</span> <br /> 
<span class="here one-two-wer-r test">click5</span> <br /> 
<span class="here one-two test">click6</span> <br /> 

$('.here').click(function(){ 
    var one-two = ???? 
    alert(one-two); 
    })​ 

fiddle獲取類的正則表達式

我想 -

,如果我在CLICK1然後警報顯示單擊我一,二,SDFS

如果我點擊on click2然後告訴我看看one-two-3er

如果我點擊CLICK3然後警報顯示我一,二,sdwrer

,如果我在CLICK4然後警報顯示單擊我一,二,S-ERE

如果我點擊click5然後告訴我看看one-two-wer-r

如果我在click6然後警報顯示單擊我一兩

我想表演類開始一兩 我如何使它?:)

+2

您是否嘗試過對正則表達式進行任何閱讀並努力工作? – 2012-07-25 09:39:27

回答

4

http://jsfiddle.net/tMzAH/10/

$('.here').click(function(){ 
    var onetwo = this.className.match(/\bone-two[^\s]*/); 
    console.log(onetwo[0]); 
}) 
+2

你有什麼特別原因選擇'[^ \ s]'在'\ S'上嗎? – phant0m 2012-07-25 09:50:57

+0

@ phant0m:我認爲它更像是「它適用於我,所以我接受」。 – nhahtdh 2012-07-25 09:51:57

+0

@nhahtdh我的意思是F. Calderan,而不是OP :) – phant0m 2012-07-25 09:54:18

0

獲取的類名您點擊的元素。然後分割它。 你不需要爲這個表達式;)

3

This應該工作。

$('.here').click(function(){ 
    var one_two = $(this).attr("class").match(/\bone-two\S*/)[0]; 
    alert(one_two); 
    })​ 
+0

如果班級是「一二三四」,這可能會失敗,因爲'\ w'不匹配'-'。我認爲'\ S *'更好。 – nhahtdh 2012-07-25 09:42:12

+0

@nhahtdh已經修復 – phant0m 2012-07-25 09:42:36