Получить цифровые значения из id.
Добрый день, задача следующая, нужно распарсить страницу и собрать все числовые значения из id на странице. На странице 10-15 блоков с id="div-10", id="div-11". Вот нужно забрать 10 и 11 и посетить в массив:
{"cid":10}, {"cid":11} и.т.п Застопорился в самом начале: n = $(this).attr("id").match(/div-(\d+)/); $.each(n, function(index, value) { $('#my').append(index + ': ' + value); }); Получаю ошибку: Uncaught TypeError: Cannot call method 'match' of undefined Помогите пожалуйста? update: jQuery.expr[':'].regex = function(elem, index, match) { var matchParams = match[3].split(','), validLabels = /^(data|css):/, attr = { method: matchParams[0].match(validLabels) ? matchParams[0].split(':')[0] : 'attr', property: matchParams.shift().replace(validLabels,'') }, regexFlags = 'ig', regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags); return regex.test(jQuery(elem)[attr.method](attr.property)); }; n = jQuery('div:regex(id,div-\\d+)'); jQuery.each(n, function(index, value) { jQuery('#my').append(index + ': ' + value); }); Вот такая штука помогает найти все дивы, как теперь оставить только числовую часть? |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> $(document).ready(function (){ var a=[]; $('[id^="div-"]').each(function (){ var i=a.length; a[i]=new Object(); a[i]['cid']=this.id.split('-')[1]; }); alert(a.length); }); </script> </head> <body> <div id='div-10'>div-10</div> <div id='div-11'>div-11</div> </body> </html> |
Оооо! То, что надо! Спасибо огромное!
|
Часовой пояс GMT +3, время: 04:50. |