2012-07-25 69 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