Javascript后期过滤系统不起作用
Javascript post filtering system not functioning
我正试图创建一个简单的过滤系统,将与li
的id不同的帖子隐藏在navig
类下。为了实现这一点,我循环浏览所有的.article li
,并检查它们的id
是什么。
示例:
- 用
id="health"
点击li
- 第2条消失
谢谢!
HTML:
<ul class="navig">
<li id="health">Health</li>
<li id="ASD">ASD</li>
</ul>
<br>
<ul class="article">
<li id="health">Article 1</li> <br>
<li id="ASD">Article 2</li> <br>
<li id="health">Article 3</li>
</ul>
Javascript:
$('.navig li').onclick(function () {
$id = this.id;
$('.article li').each(function() {
if ($id != this.id) {
$('.article li').hide();
}
});
});
根本问题是HTML无效。不能对多个元素使用相同的id
值。另外,您已经在想要使用click
的地方使用了onclick
。
我可能会在导航li
上使用data-article-id
属性,如下所示:
例如:实时复制(源(
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<meta charset="utf-8">
<title>Testing</title>
</head>
<body>
<ul class="navig">
<li data-article-id="health">Health</li>
<li data-article-id="ASD">ASD</li>
</ul>
<br>
<ul class="article">
<li id="health">Health Article</li>
<li id="ASD">ASD Article</li>
</ul>
<script>
$('.navig li').click(function () {
var articleId = $(this).attr("data-article-id");
alert(articleId);
var articles = $(".article li");
articles.not("#" + articleId).hide();
$("#" + articleId).show();
});
</script>
</body>
</html>
当页面加载时,你会想做一些事情来隐藏文章(或显示默认的文章(,等等。;我把它留给你练习
旁注:br
元素不能是ul
元素的子元素,我已经从articles
列表中删除了这些元素。
$('.navig li').onclick(function () { <-- not valid jquery
jQuery中没有onclick方法。。。存在.click(function(){})
或on("click", function(){})
第二个问题,id需要是奇异的。它们不能重复。使用数据属性[并且br不能是ul]的子级
<ul class="navig">
<li id="health">Health</li>
<li id="ASD">ASD</li>
</ul>
<br>
<ul class="article">
<li data-id="health">Article 1</li>
<li data-id="ASD">Article 2</li>
<li data-id="health">Article 3</li>
</ul>
并编写脚本
$('.navig li').on("click", function() {
var id = this.id;
$(".article li").hide().filter('[data-id="' + id + '"]').show();
});
JSFiddle:http://jsfiddle.net/q8SCF/
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- 在phonegap应用程序内部重定向不起作用
- Array.length似乎不起作用;console.log则显示其他情况
- Wordpress jquery不起作用(计算系统)
- 系统配置默认扩展对 Django 不起作用
- 谷歌地理编码api在安卓移动应用程序中不起作用,而在ripple系统中起作用
- 系统.WebForms.PageRequestManager.getInstance()在IE 10中不起作用
- Javascript后期过滤系统不起作用
- 对本地文件系统的 AJAX 请求在 Chrome 中不起作用
- Jquery过滤系统多重选择不起作用