1

简而言之,我正在尝试使用带有 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 就会变得非常非常长。?

对不起-漫无边际。累了,得了肺炎:)

4

0 回答 0