【发布时间】:2016-07-20 05:04:44
【问题描述】:
我为此进行了广泛的搜索,但找不到我需要的东西。 我有一个这样的列表:
<ul>
<li class="a b c">Apple</li>
<li class="a">Banana</li>
<li class="b">Carrot</li>
<li class="b c">Drink</li>
</ul>
我只需要 3 个按钮来切换变量 true 和 false,它们将显示/隐藏列表项以及每个变量的相应类。然后是一个搜索框,它将过滤掉其中没有(不区分大小写)字符串的列表项。例如,选中标有“a”的框只会显示“Apple”和“Banana”,但在搜索框中输入“b”只会显示“Banana”。
这是我迄今为止尝试过的:
<button onClick="toggle(a)">A</button>
<button onClick="toggle(b)">B</button>
<button onClick="toggle(c)">C</button>
<ul>
<li class="a b c">Apple</li>
<li class="a">Banana</li>
<li class="b">Carrot</li>
<li class="b c">Drink</li>
</ul>
然后是Javascript:
var a, b, c;
function toggle(i) {
if (i) {i = false
}else {i = true};
};
if (a) {
document.getElementsByClassName('a').style.visibility='shown';
}else {
document.getElementsByClassName('a').style.visibility='hidden';
};
if (b) {
document.getElementsByClassName('b').style.visibility='shown';
}else {
document.getElementsByClassName('b').style.visibility='hidden';
};
if (c) {
document.getElementsByClassName('c').style.visibility='shown';
}else {
document.getElementsByClassName('c').style.visibility='hidden';
};
我还没有弄清楚如何从文本框中获取字符串。
我将如何尽可能简单地做到这一点。 “最简单”是使用最少的代码和没有多余功能的 vanilla javascript。我不需要动画或花哨的图形,只需要基于标准的显示和隐藏。我还要注意我对 JS 相当陌生,根本无法理解 JQuery。
提前致谢。
奥利。
另外:如果我错过了另一个要求相同信息的问题,请告诉我。
【问题讨论】:
-
stackoverflow 中的离题
-
我问了一个问题:“我怎样才能尽可能简单地做到这一点?”。这是关于编码的主题。老实说,我看不出“离题”在哪里。
-
对我来说似乎也不是话题。 Downvotes 可能是因为您没有展示到目前为止您已经尝试过的内容。那就是说我正在寻找答案
-
另外,Marcos,我并不是要查找“书籍、工具、软件库、教程或其他非现场资源”
-
好的,这确实有帮助。对于以后的问题,我会记住所有这些。虽然如果在删除帖子之前提出问题并提出改进建议会更好一些,就像我以前一样。
标签: javascript html filter