jQuery切换多个Divs一些嵌套

时间:2014-03-08 18:38:14

标签: jquery html

好的,让我们从另一个角度尝试这个,我不知道我是否足够清楚。

我有几个嵌套的div。在这些div中是两个特定的div(col50),其中第一个具有进一步嵌套的div(信息)。在第二个col50上,我只有用于查看更多信息,编辑信息和删除信息的链接。

我需要点击“更多”链接以从第一个col50中的嵌套div中向下滑动信息。两个col50都向左浮动,因此它们并排放置。我已经尝试了几种形式的兄弟,父母,这个,等等,但仍然没有提出解决方案(以及从其他网站和本网站尝试多种解决方案)。

这只是一个简单的切换功能,我无法弄清楚如何...什么,爬上dom到达包含的父/子/兄弟......也许......让它切换。

帮助?

的jsfiddle

http://jsfiddle.net/f2SYT/

在html和jquery的更新代码下面:

HTML

<div class="col-100 clientContainer">
    <div class="col50">
        <p>Arnold Greenburg</p>
            <span class="info toggle">
        <p>This is more information.</p>
    </span>
    </div>
    <div class="col50">
        <p> <a href="##" class="moreInfo">more</a>
            |
            <a href="##">edit</a> 
            |
        <a href="##">delete</a>

        </p>
    </div>
</div>
<div class="col-100 clientContainer">
    <div class="col50">
        <p>Arnold Greenburg</p> <span class="info toggle">

                        <p>This is more information.</p>

                    </span>

    </div>
    <div class="col50">
        <p> <a href="##" class="moreInfo">more</a> |    <a href="##">edit</a> | <a href="##">delete</a>

        </p>
    </div>
</div>

的jQuery

$(document).ready(function () {

    $('.moreInfo').click(function () {
        $(this).parent('.clientContainer').child('.col50').find('.info').slideToggle();
    });

});

3 个答案:

答案 0 :(得分:0)

var $toggled = $(this).attr('href');

1st:它不是jquery对象,所以make name切换但不是$ toggled,以避免误导。

第二:它将使用值字符串“##”

设置$切换

第3次:调用$($ toggled)尝试查找ID为“#”的所有元素,这里没有这样的元素。

如果要查找href =“##”的所有链接,请使用以下选择器:

$("a[href=##]")

检查此jsfiddle jsfiddle

答案 1 :(得分:0)

尝试使用数据属性添加,例如data-selector="info"

Fiddle example

在示例中,我没有检查是否有任何可见的东西,我让jQuery确定要对我采取什么操作,这有缺点。希望它有所帮助。

答案 2 :(得分:0)

好的,我找到了一个解决方案。这有点令人费解,但功能齐全,效果很好。

$(document).ready(function(){

$(".col50 + .col50 > p > a:first-of-type").click(function () {
    $(this).parent().parent().parent().find(".info").slideToggle();
});

});