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
答案 0 :(得分:4)
您可以拆分单引号字符并获取返回的第二个值:
$(".click").click(function(){
var text = $(this).data('test').split("'")[1];
alert(text);
});
<强> Working Demo 强>
答案 1 :(得分: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]范围内...如果你可以更准确地说明可能的值,我们可以更多捕获它们的先例
答案 2 :(得分:0)
一种方式:
var text = $(this).data("test");
alert ( text.match(/^.*\('(.*)\s*'/)[1] );
答案 3 :(得分:0)
试试这个
$(".click").click(function(){
var tag = $(this);
alert(tag.attr('data-test').split('\'')[1]);
})