使用 JavaScript 或 jQuery 对 li 元素进行排序
sort li elements using javascript or jquery
在我的页面中,我有福洛廷。我需要使用 javascript 来整理它。
<li class="cat2 lang1">Hello</li>
<li class="cat2 lang1">Hello</li>
<li class="cat1 lang2">Hello</li>
<li class="cat3 lang3">Hello</li>
我尝试的是:
$('#movieFeatureFilter span#selGenre .subMenus li').click(function()
{
if(this.id != '')
{
$('.movie_lists ul li').hide();
$('.movie_lists ul li.cat'+this.id).show();
}
else $('.movie_lists ul li').show();
});
这很完美。 但是我需要使用 lang 和 cat 的组合对列表进行排序。
即如果我选择 Cat1 作为类别,lang2 作为语言,那么它可能会显示第三个 li
我想你明白我的意思是。 对不起,解释不好。 请帮帮我
var $items = $('ul li'), $cat = $('#cat'), $lang = $('#lang');
$('#cat, #lang').change(function(){
var cat = $cat.val(), lang = $lang.val(), $filtered = $items;
if(cat){
$filtered = $filtered.filter('.' + cat);
}
if(lang){
$filtered = $filtered.filter('.' + lang);
}
$items.not($filtered).hide();
$filtered.show()
})
演示:小提琴
似乎不是
排序,而是想根据猫和郎的选择显示/隐藏项目。 以下功能将满足您的目的:
$("#movieFeatureFilter span#selGenre .subMenus li").click(function () {
/*GET cat AND lang FROM DROPDOWNS*/
var cat = $("#c").val(),
lng = $("#l").val();
$("#<ID OF UL> li").filter(function () {
$this = $(this);
if ($this.hasClass(cat)) {
if (!$this.hasClass(lng)) {
$this.hide();
} else {
$this.show();
}
} else {
$this.hide();
}
});
});
在这里检查小提琴。
相关文章:
- 如何使用jquery对元素进行排序和定位
- 根据输入文本按元素排序,AngularJS
- 将元素排序到数组的顶部
- Scriptaculous排序表和句柄的问题(元素排序不正确)
- 如何使用jquery随机元素排序
- 是对集合中的所有元素排序,还是只对添加的元素排序
- 在case语句中对表元素排序时出现问题
- 类似于mason .js或同位素.js的打包布局,不按现有元素排序
- 如何根据子元素的值对父元素排序?
- 如何捕捉元素排序使用jQuery sortable
- Javascript:对数组的数组按每个内部数组中的第二个元素排序
- JS基于子元素对父元素排序
- 如何将Firebase子元素中的值与其他元素排序
- 工具提示在元素排序后停止工作
- 遍历元素以对其子元素排序
- 元素排序例程在Firefox中工作,但在Chrome中崩溃
- Javascript按数组中的元素排序
- JS:基于数据元素排序列表项
- 如何按三个元素排序
- JQ UI排序表:停止排序表内的一些元素排序