获取元素类名的部分
get the part of element class name
我可以有以下任何一个例子:
<input type="text" class="some_class extra_1" />
<input type="text" class="some_class extra_4 some_class2" />
<textarea class="extra_17"></textarea>
我需要得到"extra_"后的号码:
1,4,17
或完整类别:
extra1、extra_4、extra_17
另一个选项:
var arr = $("input, textarea").map(function() {
try {
return /'s*extra_('d+)'s*/.exec(this.className)[1];
} catch (e) {
return null;
}
}).get();
演示:http://jsfiddle.net/nh7sv/
类似
var numbers = [ ];
$('input, textarea').each(function() {
numbers = numbers.concat( this.className.split( /'s+/ ).filter(function( cl ) {
return cl.indexOf( 'extra' ) === 0;
}).map(function( cl ) {
return +cl.split( '_' )[ 1 ];
}) );
})
console.log( numbers ); // [1, 4, 17]
http://jsfiddle.net/LLeQF/
$('input, textarea').filter('[class*="extra_"]').each( function() {
var num = $(this).attr('class').split('extra_')[1].split(' ')[0];
alert( num );
});
获取以extra_开头的类的元素
获取元素
$('[class^="extra_"]');
要获得完整的
$('[class^="extra_"]').map(function(_, x) { return x.getAttribute('class'); });
获取正确的数字
$('[class^="extra_"]').map(function(_, x) {
return parseInt(x.getAttribute('class').split('_')[1], 10);
});
要获取类中包含extra_的所有元素并返回数字:-
var t = $('[class*=extra_]').map(function() {
return this.className.match(/extra_'d+/)[0].split('_')[1];
});
returns ["1", "42", "17"]
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML