<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
Может ли кто-нибудь дать мне решение, как я могу получить уникальный номер id сообщений, используя jQuery.
Я должен получить результат, как
post-id Number
он должен быть получен через чистый jQuery
Потому что, когда я использую селектор классов, он сталкивается с проблемой
Вы можете использовать split()
для получения числового значения. Попробуй это:
$('div').each(function() {
var num = this.id.split('-')[1];
console.log(num);
});
Вы можете упростить свой 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];
);
Простой JS-порт ответа Рори Маккроссана с использованием split: (IE8+)
Lazy looping (выводит идентификатор сообщения в обратном порядке по сравнению с позицией в разметке):
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 );
}