jQuery селекторы
Не могу понять как прописать jquery селектор типа атрибут TZ больше 10, но меньше 20. Просто есть фильтр, где клиент пишет TZ от Х значения до Y значения. Сделал не рационально:
function FindTZ(){
var tzot = Number(document.getElementById('tz_ot').value);
var tzdo = Number(document.getElementById('tz_do').value);
var all_list = $('ol.blc1 > li');
for(var i=0;i<all_list.length;i++){
all_list[i].style.display = 'none';
}
var list = [];
var j = 0;
while(tzot<tzdo){
list[j] = [];
list[j] = $('ol.blc1 > li[tz="'+tzot+'"]');
j++;
tzot++;
}
for(var x=0;x<list.length;x++){
for(var c=0;c<list[x].length;c++){
list[x][c].style.display = 'block';
}
}
}
Подскажите, может есть в селекторах что-то типа li[tz>10 & tz<20]? |
Есть селекторы выбора после n-го элемента и перед n-ым элементов. n-ый элемент в этих селекторах не включается.
:gt(n) - после n-го :lt(n) - перед n-ым |
MCTrane,
Если они идут друг за другом $(SelStart).nextUntil(SelEnd) http://api.jquery.com/nextUntil/ |
Кстати ещё есть метод .slice(begin, end), который полностью аналогичен методу для работы с массивами.
|
_SR_71_,
и это тут при чом? |
При том, что скажем нужно выбрать ячейки таблицы td с 11-ой по 20-ую,тогда это можно сделать так:
$('td').slice(10, 20) |
MCTrane,
Используй метод filter.
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<ul>
<li data-tz="10">list item 10</li>
<li data-tz="12">list item 12</li>
<li data-tz="14">list item 14</li>
<li data-tz="16">list item 16</li>
<li data-tz="18">list item 18</li>
<li data-tz="20">list item 20</li>
</ul>
<script>
//Прячем все элементы, которые не подходят под наше условие
var all_items = $('ul > li');
all_items.hide();
var items = $('ul > li').filter(function(index) {
var value = $(this).data('tz');
return (value > 10 && value < 20);
});
items.show();
</script>
|
| Часовой пояс GMT +3, время: 17:06. |