如何获取唯一的ID号

时间:2014-05-12 09:25:33

标签: jquery

<div id='post-1286781' class='post'></div>
<div id='post-1202828' class='post'></div>
<div id='post-5654112' class='post'></div>
<div id='post-6353422' class='post'></div>
<div id='post-7256287' class='post'></div>
<div id='post-6725282' class='post'></div>
<div id='post-5242611' class='post'></div>
<div id='post-7162527' class='post'></div>

这是HTML

任何人都可以给我一个解决方案,我怎样才能使用jQuery获取帖子的唯一ID号。

我必须得到像

这样的结果

post- id Number

必须通过纯jQuery

获取

因为当我使用类选择器时它会遇到问题

3 个答案:

答案 0 :(得分:2)

您可以使用split()获取数值。试试这个:

$('div').each(function() {
    var num = this.id.split('-')[1];
    console.log(num);
}); 

答案 1 :(得分:0)

您可以简化HTML以使用data-*属性

<div data-post-id='1286781' class='post'></div>

然后

$('div.post').each(function(){
 var postId=$(this).data("post-id");
});

选项2:

<div id='post-1286781' class='post'></div>

 $('div.post').each(function(){
 var postId=  this.split('-')[1];
 );

答案 2 :(得分:0)

来自Rory McCrossan使用split的答案的简单JS端口:(IE8 +)

延迟循环(与标记中的位置相比,将以相反的顺序输出帖子ID):

var posts = document.querySelector( '.post' );
for( var i = posts.length; i--; ) {
    var num = posts[i].id.split( '-' )[1];
    console.log( num );
}

以正确的顺序循环:

var posts = document.querySelector( '.post' );
for( var i = 0, len = posts.length; i < len; i++ ) {
    var num = posts[i].id.split( '-' )[1];
    console.log( num );
}