【发布时间】:2015-07-17 14:45:35
【问题描述】:
我尝试为以下问题找到一个简单的解决方案(我完全是编码初学者,只需在“开箱即用”页面的小部件中使用 javascript):
访问者可以通过单击删除/显示来选择多个属性
- 属性(删除/显示)
- 属性 b(删除/显示)
- 属性 c(删除/显示)
- a.s.o.
根据访问者“选择”,我想显示或隐藏元素列表:
- 元素 1(属性 a 和 b) - 如果选择了“a”或“b”,则删除
- 元素 2(属性 a) - 如果选择了“a”,则删除
- 元素 3(属性 a 和 c) - 如果选择了“a”或“c”,则删除
- a.s.o.
我已经能够基于“选择”隐藏元素,但在我的解决方案中,每个元素仅根据唯一 ID 显示和隐藏(因此也仅基于单个选择)。
我为此找到的 Javascript 是:
<script type="text/javascript">
//<![CDATA[
function swap(openlink,closelink, linkid, dataid)
{
if( document.getElementById(dataid).style.display == 'none')
{
document.getElementById(dataid).style.display='inline';
document.getElementById(linkid).firstChild.nodeValue=closelink;
} else
{
document.getElementById(dataid).style.display='none';
document.getElementById(linkid).firstChild.nodeValue=openlink;
}
}
//]]>
</script>
而且我可以使用这个 HTML 代码来删除/显示元素:
attribute a <a href="#swap" onclick="javascript:swap('Show','Remove', 'swaplinkA', 'showmeA')" id="swaplinkA" onfocus="this.blur()" name="swaplinkA">Remove</a>
attribute b <a href="#swap" onclick="javascript:swap('Show','Remove', 'swaplinkB', 'showmeB')" id="swaplinkB" onfocus="this.blur()" name="swaplinkB">Remove</a>
attribute c <a href="#swap" onclick="javascript:swap('Show','Remove', 'swaplinkC', 'showmeC')" id="swaplinkC" onfocus="this.blur()" name="swaplinkC">Remove</a>
我的元素将通过以下方式删除/显示:
<div id="showmeA" style="display:inline">Element 1</div>
<div id="showmeB" style="display:inline">Element 2</div>
<div id="showmeB" style="display:inline">Element 3</div>
有没有一种简单的方法可以将 2 个 ID 添加到一个“元素”,例如元素 1 可以被 id=showmeA 和 id=showmeB 隐藏?
【问题讨论】:
-
ID 应该是唯一的
-
使用类而不是 ID。要将多个类添加到一个元素,只需用空格分隔它们,例如
<div class="class-1 class-2 class-infinity">
标签: javascript