0
   1. <a class="click" data-test="CodeMirror-sizer('@aaa', 1)-er">
   2. <a class="click" data-test="CodeMirror-sizer44('@bbb', 2)-fgd">
   3. <a class="click" data-test="CodeMirror-sizer366('@ccc', 2)-gr4f">
   4. <a class="click" data-test="CodeMirror-sizer33('@ddd', 1)-erw">

$(".click").click(function(){
    var text = ???;
   alert(text);
})

如何使用例如正则表达式从属性中获取文本?我会收到:

从 1 = @aaa

从 2 = @bbb

从 3 = @ccc

从 4 = @ddd

现场jsFIDDLE

4

4 回答 4

4

您可以只拆分单引号字符并获取返回的第二个值:

$(".click").click(function(){
    var text = $(this).data('test').split("'")[1];
    alert(text);
});

工作演示

于 2013-06-28T12:34:59.013 回答
2
$(".click").click(function(){
    var pattern = /@[a-z]{3}/i
    var text = $(this).attr('data-test')

    alert(text.match(pattern ));
})

在这里查看小提琴:http: //jsfiddle.net/Xr7bw/4/

但这完全取决于模式,这个模式只匹配和“@”后面的三个字符,范围为​​ [az]...如果您可以更准确地了解可能的值,我们可以更精确地捕获他们

于 2013-06-28T12:42:38.547 回答
0

单程:

var text = $(this).data("test");
alert ( text.match(/^.*\('(.*)\s*'/)[1] );
于 2013-06-28T12:36:00.153 回答
0

尝试这个

http://jsfiddle.net/Xr7bw/5/

$(".click").click(function(){
    var tag = $(this);
   alert(tag.attr('data-test').split('\'')[1]);
})
于 2013-06-28T12:48:44.837 回答