document.getElementById菜单中的书签不可见隐藏文本

时间:2015-11-12 23:55:32

标签: javascript html css

我正在使用javascript document.getElementById来更改图像并在服务登录页面上隐藏和显示文本,其中包含17种不同的服务和扩展描述。在现在设置时,将打开登录页面,关闭所有服务,并在每个标题行旁边添加一个加号图像。当用户单击图像或标题时,图像将变为减号,文本将展开以显示隐藏文本。展开后,用户可以再次单击图像或标题,它将收缩并显示为最初登陆。

以下是我正在使用的脚本:

    <script type="text/javascript">
    <!--
    function showHide(HID,IMG) {
    if (document.getElementById(IMG).src.indexOf('expand') != -1) {
    document.getElementById(IMG).src='../_media/images/common      
    /collapse.jpg';
    document.getElementById(HID).className='visibleRow';
    } else {
    document.getElementById(IMG).src='../_media/images/common
    /expand.jpg';
    document.getElementById(HID).className='hiddenRow';
    }
    }
    // -->
    </script>

这是我正在使用的html(以一行为例):

    <tr bgcolor="#051846">
    <td>
    <img id="image2" border="0" src="../_media/images/common/expand.jpg" 
    onclick="showHide('divHidden2','image2');" style="cursor:pointer; 
    float:left; margin: 10px 10px 0px 20px;" alt="" />&nbsp;
    <span style="font-family: verdana, arial, sans-serif; font-size: 
    20px; font-weight:normal;color: #ffffff;cursor:pointer;line-height: 
    40px;font-variant: small-caps;margin: 0px 0px 10px 0px;"  
    onclick="showHide('divHidden2','image2');">Buy/Sell Decisions</span>
    </td>
    </tr>
    <tr>
    <td>
    <div id="divHidden2" name="divHidden2" class="hiddenRow"><ul 
    class="hidden">
    <li>Corporate divestitures and purchases.</li>
    <li>Underwater resort in the Fiji Islands.</li>
    <li>High-end golf community in southern Spain.</li>
    <li>3,235-hectare multi-use commercial land subdivision in South    
    Africa.</li>
    </ul>
    </div>
    </td>
    </tr>

我正在尝试将主菜单从主页链接到服务页面,为每个隐藏的细节创建一个锚点:

    <div id="divHidden2" name="divHidden2" class="hiddenRow">

在主页上,菜单是所有服务的列表,其中包含指向服务页面和锚点的超链接。

    <a href="services/services.shtml#divHidden2">

我创建锚点的过程似乎正常,但是,当打开页面时,我无法看到隐藏文本。我已经看过在一个href和许多其他方法中包含javascript,但没有任何东西能够将某人从主页引导到服务页面,并扩展了该特定服务。我的初始页面通过了W3C验证测试。

谢谢。

2 个答案:

答案 0 :(得分:0)

首先,在HTML页面上添加CSS和Javascript不是一个好习惯。 如何使用setAttribute方法?

var img = document.getElementById('divID');
img.onclick = foo;
function foo(img) {
  img.setAttribute("style", "display:none");
}

当我强调W3验证测试时,我希望有人能告诉我这个技巧。我刚给你代码隐藏代码。您可以通过设置要显示的样式来找到显示图像的方法:块。

答案 1 :(得分:0)

我能够在其他地方获得这个问题的答案,并认为如果其他人有类似的情况,我会在这里发布。

在javascript本身,我需要添加:

$scope.contactList = ContactService.getContactList();

$scope.selectedContact = function(contact){
    console.log(contact);
    console.log($scope.filteredArray[0]);
}

然后我需要通过将其更改为:

来相应地制作一个href
    $(function() {
    // find out what our query parameters contain.
    var query = location.search;

     // isolate the position of the equal sign.
    var equalIndex = query.indexOf('=');
    // extract the image's id.
    var imageId = query.substring(equalIndex + 1);

    // click on the appropriate image.
    $('#' + imageId).click();
    });

本质上,我强迫onclick点击,以便隐藏文本在打开时显示。不同之处在于它与图像有关而不是div。我希望这对其他人有益。