所以,我有这样的功能:
$('a.tdt-btn-*').click(function() {
var class = $(this + "[class^=tdt-btn-*]"); // Need more here
console.log(class);
});
我想要做的是在最后得到通配符部分的值。我怎么能这样做?
所以,我有这样的功能:
$('a.tdt-btn-*').click(function() {
var class = $(this + "[class^=tdt-btn-*]"); // Need more here
console.log(class);
});
我想要做的是在最后得到通配符部分的值。我怎么能这样做?
我建议:
$('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 中的保留字,应该或可以不用作变量名(我相信如果这样做会引发错误)。
参考:
试试这个(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);
});