在jQuery中遇到隐藏/显示功能的问题

时间:2012-05-02 13:04:17

标签: javascript jquery html javascript-events

我有一些结构如下的div:

<div>
    <div><a>more Info</a></div>
    <div><a>more segments</a></div>
</div>
<div>
    <div><a>more Info</a></div>
</div>
<div>
    <div><a>more Info</a></div>
    <div><a>more segments</a></div>
</div>
.......

这些div是动态生成的。一些div包含2个超链接(如第1个div),有些只包含一个超链接(如第2个div)。

  1. 当我点击moreInfo link时,它必须显示一个包含一些信息的div。当我点击另一个链接时,应隐藏先前显示的div并打开与该链接相关联的相应div。
  2. 当我点击moresegments link时,它必须显示段数,并且应禁用all moreInfo links。每个段由moreInfo link组成(段包含代码,就像第二个div一样)。单击每个段中的moreInfo链接后。它的行为必须与point1相似。

    这是我的示例代码http://jsfiddle.net/H5R53/16/

    在上面的代码中,当我点击moreInfo link时,它会显示一个包含一些信息的div。到此为止它工作正常。现在我的问题是,当我再次点击同一链接时,它不再显示信息。此外,当我点击moresegments link moreInfo links(不是更多段链接的子项)时,应该禁用所有打开的div(在点击moreInfo链接时打开)应该关闭。有人请帮助我。提前致谢。

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你想隐藏div #moreInfo,如果用户想要打开另一个。

如果是的话,

<强> JQUERY

if ($('#moreInfo').size()==1) {
    $('#moreInfo').remove();
}

添加了控制权的观众

$('.moreInfLink').live('click',function(){
    if ($('#moreInfo').size()==1) {
        $('#moreInfo').remove();
    }
   $(this).after("<div id='moreInfo'>sdasdad<br/>sdasdad<br/>sdasdad<br/><div id='close'>close</div></div>");
});

和你的Fiddle Updated!

相关问题