所以,我有这样的功能:
$('a.tdt-btn-*').click(function() {
var class = $(this + "[class^=tdt-btn-*]"); // Need more here
console.log(class);
});
我想要做的是在结尾处获取通配符部分的值。我怎么能这样做?
答案 0 :(得分:1)
我建议:
$('a[class*=tdt-btn-]').click(function() {
var elClasses = this.className.split(/\s+/),
elClassWildcard;
for (var i = 0, len = elClasses.length; i < len; i++){
if (elClasses[i].indexOf('tdt-btn-') === 0) {
elClassWildcard = elClasses[i].replace('tdt-btn-', '');
}
}
console.log(elClassWildcard);
});
顺便提一下,class
是JavaScript中的保留字,应该或可以,不能用作变量名(我相信如果你这样做会引发错误)。< / p>
参考文献:
答案 1 :(得分:1)
试试这个(class
是保留字,所以我使用clazz
):
$('a[class^="tdt-btn-"]').click(function() {
var clazz = $(this).attr('class').replace('tdt-btn-','')
console.log(clazz);
});
首次出现tdt-btn-*
。
$('a[class*="tdt-btn-"]').click(function() {
var clazz = $(this).attr('class').match(/(tdt-btn-)(.+?)(?=(\s|$))/)[2];
console.log(clazz);
});