简而言之,我正在尝试使用带有 Javascript 功能的 HREF 菜单来显示 DIV。但是,我担心的是,虽然我可以有两个单独的 DIV,一个启用 Javascript,一个启用没有 JAvascript,但我不想在我的页面上复制原始内容(因为蜘蛛会索引 Display: none html)
我不熟悉javascript的功能和最佳实践。我的直觉是在存在 javascript 时用字符串替换特定 id 样式标签的 DIV。
即,如果启用了 javascript,则将样式标签的文本替换为 display=none 的逻辑(对于特定 ID)
另外 - 有没有一种方法可以使 javascript 变得不特定。例如,如果我有 contentid1,contentid2,contentid3,contentid4,contentid5,contentid6 我可以使用,通过正则表达式或 contentid 2-6 的等价物
我将在 contentids 发生变化的多个页面上使用它。我不知道我是否应该创建一个 javascript 条件样式,因为我不确定该样式将如何应用于多个 ID(见此处) 仅在 Javascript 可用时隐藏 html
这是我当前的代码
<script type="text/javascript">
function showHide(d)
{
var onediv = document.getElementById(d);
var divs=['content1','content2','content3','content4'];
for (var i=0;i<divs.length;i++)
{
if (onediv != document.getElementById(divs[i]))
{
document.getElementById(divs[i]).style.display='none';
}
}
onediv.style.display = 'block';
}
</script>
那么这是我的菜单
<ul>
<li><a href="javascript:showHide('content1');">link1</a></li>
<li><a href="javascript:showHide('content2');">link2</a></li>
<li><a href="javascript:showHide('content3');">link3</a></li>
<li><a href="javascript:showHide('content4');">link4</a></li>
</ul>
然后这是我的内容(注意,我让 content1 div 默认可见
<div id="content1" >Content</div>
<div id="content2" style="display: none;">Stuff</div>
<div id="content3" style="display: none;">Things</div>`
如果可能的话,我想避免闪烁,并尽可能地刷新页面。就像可能有一个条件,以便 content2+ 将内联样式更改为隐藏。如果没有 javascript,我的 paeg 就会变得非常非常长。?
对不起-漫无边际。累了,得了肺炎:)