Получить цифровые значения из 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, время: 06:16. |