-1

我对 JavaScript 有一个小问题。我不确定我的代码是否不起作用,或者我是否要以错误的方式吃午饭。

<title>Untitled Document</title>
<script language="javascript">
function Unhide()
{
 var item = document.getElementsByTagName('p');
 for (x; x > item.length; x+1)
 {
     if (item.item(x).getAttribute('hidden') == ('true'))
     {
        item.item(x).setAttribute('hidden', 'false');
     }
     else
     {
         item.item(x).setAttribute('hidden', 'true');
     }
 }
}
</script>
</head>

<body>
<div class="Level1">
 <p class="Menu"><a href=".\Index.html">Home</a></p>
  <div class="Level2">
   <p class="Menu"><a href=".\Artykol1.html">Artykół 1</a></p>
   <p class="Menu"><a href=".\Artykol2.html">Artykół 2</a></p>
   <p class="Menu"><a href=".\Artykol3.html">Artykół 3</a></p>
   <p class="Menu"><a href=".\Autorska.html">Artykóły Autorskie</a></p>
  </div>   
 <p class="Menu"><a href=".\Dziennik.html">Dziennik</a></p>
 <p class="Menu"><a href=".\Archiwum.html">Archiwum</a></p>
 <div class="Level2">
  <p class="Menu"><a onclick="Unhide()">Ostatni Tydzień</a></p>
  <div class="Level3">
   <p class="Menu" hidden="true"><a href=".\Archiwum\OstatniTydzien\Art1_Autor.html">Art1</a></p>
   <p class="Menu" hidden="true"><a href=".\Archiwum\OstatniTydzien\Art2_Autor.html">Art2</a></p>
  </div>
 </div>
</div>
</body>

你能给我任何提示吗,如何弄清楚?

4

3 回答 3

2
function Unhide()
{
 var items = document.getElementsByTagName('p');
 for (var x in items)
 {
     if (x.style.display == 'none')
     {
        x.style.display = '';
     }
     else
     {
         x.style.display = 'none';
     }
 }
}

items是一个元素数组。使用 for 循环遍历它们并设置style.display属性。

参考:http ://www.w3schools.com/jsref/prop_style_display.asp

于 2013-10-10T18:11:47.190 回答
0

http://davidwalsh.name/html5-hidden

<script>
function Unhide()
{
 var items = document.getElementsByTagName('p');
 for ( var x = 0; x < items.length; x++)
 {
     var item = items[x]; 
     if (item.getAttribute('hidden') == 'true')
     {
        item.setAttribute('hidden', 'false');
     }
     else
     {
         item.setAttribute('hidden', 'true');
     }
 }
}
</script>

<div class="Level1">
 <p class="Menu"><a href=".\Index.html">Home</a></p>
  <div class="Level2">
   <p class="Menu"><a href=".\Artykol1.html">Artykół 1</a></p>
   <p class="Menu"><a href=".\Artykol2.html">Artykół 2</a></p>
   <p class="Menu"><a href=".\Artykol3.html">Artykół 3</a></p>
   <p class="Menu"><a href=".\Autorska.html">Artykóły Autorskie</a></p>
  </div>   
 <p class="Menu"><a href=".\Dziennik.html">Dziennik</a></p>
 <p class="Menu"><a href=".\Archiwum.html">Archiwum</a></p>
 <div class="Level2">
  <p class="Menu"><a onclick="Unhide()">Ostatni Tydzień</a></p>
  <div class="Level3">
   <p class="Menu" hidden="true"><a href=".\Archiwum\OstatniTydzien\Art1_Autor.html">Art1</a></p>
   <p class="Menu" hidden="true"><a href=".\Archiwum\OstatniTydzien\Art2_Autor.html">Art2</a></p>
  </div>
 </div>
</div>
于 2013-10-10T18:27:11.620 回答
0

对我来说工作:

item.attr('hidden', false);

但仅当项目的属性如下所示:

hidden="true"

不仅“隐藏”。

于 2020-08-17T02:18:24.760 回答