0

我想扩展网页上的隐藏文本,在谷歌上进行一些(重新)搜索后,我发现了以下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Test</title>


<script type="text/javascript">
function Expand(node)
{
  // Change the image (if there is an image)
  if (node.childNodes.length > 0)
  {
    if (node.firstChild.tagName == "IMG")
    {
      node.firstChild.src = "minus.gif";
    }
  }
  node.nextSibling.style.display = '';
}

function Collapse(node)
{
  // Change the image (if there is an image)
  if (node.childNodes.length > 0)
  {
    if (node.firstChild.tagName == "IMG")
    {
      node.firstChild.src = "plus.gif";
    }
  }
 node.nextSibling.style.display = 'none';
}

function Toggle(node)
{
  // Unfold the branch if it isn't visible
  if (node.nextSibling.style.display == 'none')
  {        
      Expand(node);
  }
  // Collapse the branch if it IS visible
  else
  {        
     Collapse(node);
  }
node.childNodes[1].nodeValue = (node.nextSibling.style.display == 'none')? 'More...' : 'Less...';
}           
</script> 

</head>


<body>


<a onclick="Toggle(this)" style="cursor:pointer;"><img src="plus.gif" alt="Expand/Collapse" /> More...</a><p style="display:none;">This is a sample of the expanded text that will show up when "+ More..." is clicked</p>              


</body>
</html>

现在脚本会显示一个加号(展开)的 .gif 图像,旁边有“更多...”,当单击 .gif 文件或“更多...”时,会出现隐藏文本,并且 plus.gif 是替换为减号.gif 和“更多...”更改为“减...”但我想以另一种方式实现它,我希望一旦单击展开(加号.gif),其他 .gif 不应该又出现了,我不知道怎么修改代码,所以请朋友们帮帮我

我是 javascript 的新手,所以不得不提出这样一个愚蠢的疑问

谢谢:)

4

1 回答 1

1

只需将您的代码更改为此

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test</title>
        <script type="text/javascript">

            function ExpandDelete(node)
            {
                if (node.nextSibling.style.display == 'none')
                {        
                    node.nextSibling.style.display = '';
                    node.parentNode.removeChild(node);
                }
            }           
        </script> 
    </head>

    <body>
        <a onclick="ExpandDelete(this);" style="cursor:pointer;"><img src="plus.gif" alt="Expand" /> More...</a><p style="display:none;">This is a sample of the expanded text that will show up when "+ More..." is clicked</p>              
    </body>
</html>
于 2010-07-31T11:29:43.220 回答