JQuery获取元素's类名,以字符串“”开头;不管怎样——“;
JQuery get the rest of the element's class name that starts with string "whatever-"
我有一个js,它缓存名称以"whatever-"开头的类,
$('[class^="whatever-"], [class*=" whatever-"]')
但我现在想做的是得到名字的其余部分,例如,在"whatever-9"的情况下,我想得到"9",我不知道怎么做,你能帮我吗?
试试这个
var check = "whatever-";
$('[class^="whatever-"], [class*=" whatever-"]').each(function () {
// Get array of class names
var cls = $(this).attr('class').split(' ');
for (var i = 0; i < cls.length; i++) {
// Iterate over the class and log it if it matches
if (cls[i].indexOf(check) > -1) {
console.log(cls[i].slice(check.length, cls[i].length));
}
}
});
当有一个以上的类时,这也应该适用于这种情况。使用filter
方法和regex
可能有更干净的方法
检查Fiddle
使用map
的小型清洁剂
var check = "whatever-";
$('[class^="whatever-"], [class*=" whatever-"]').each(function () {
var className = this.className;
var cls = $.map(this.className.split(' '), function (val, i) {
if (val.indexOf(check) > -1) {
return val.slice(check.length, val.length)
}
});
console.log(cls.join(' '));
});
地图演示
也许有更好的方法,但这是有效的。检查控制台。
演示
$('[class^="whatever-"], [class*=" whatever-"]').each(function () {
var classname = this.className;
var classsparts = classname.split('whatever-');
var result = classsparts[1]
console.log(result);
});
这是假设您的选择器所针对的元素中只有一个类。
或者,如果你喜欢一个小正则表达式,我会使用它,因为它只是一行。
$("*").filter(function(){ return /whatever-.+/.test( $(this).attr("class") ) } );
相关文章:
- 对id以某个字符串开头的元素进行计数
- 如何在javascript中使用string.replace.将匹配字符串开头的两个不同表达式替换为null
- 如何删除字符串开头和结尾的换行符
- Greasemonkey - 如何在以特定字符串开头的页面上查找并打开 aν URL
- JavaScript 中的正则表达式:匹配字符串开头的多个子字符串
- 我可以选择所有属性名称(而不是值)以某个字符串开头的元素吗
- 正则表达式能否匹配字符串开头或结尾的字符(但不能同时匹配)
- 在jquery中选择id以字符串开头的元素
- 获取DOM中属性名称以某个字符串开头的所有HTML元素
- 如何匹配字符串开头的数字
- 为所有以特定字符串开头的变量赋值
- 正则表达式,用于匹配字符串开头的协议相对 URL
- 在 JavaScript 中按字符串开头或单个字符进行匹配
- REGEX 检查字符串开头或结尾的字符
- 如何在 javascript 中检查字符串开头是否有空格
- 正则表达式匹配:字符串开头不包含字符
- 如何从字符串开头获得与正则表达式的匹配项
- 如何检查 JavaScript 对象是否具有以特定字符串开头的属性名称
- Web 视图中字符串开头和结尾的像素偏移量 (x,y)
- JS获取以字符串开头键的对象值