0

在 jQuery 中遍历时遇到问题..希望是一个简单的问题..但我正在敲我的头。我试过.closest(), .next(), .find().. 和 nada

HTML:

<div class='news_box'>
    <img src='".NEWS.$n[image]."' alt='$n[title] Image' class='news_img' />
    <div class='news_text'>
        <h3>$n[title] // ".date("d.m.Y", strtotime($n[created_on]))." // ".date("H.i", strtotime($n[created_on]))."</h3>
        <p>".substr(strip_tags($n[description]), 0, 90)."... <span title='Read More On $n[title]' class='more'>Read More</span></p>
    </div>
    <p class='clear'></p>
    <div class='full_item'>
        $n[description]
    </div>
</div><!--close news_box-->

查询:

$(".news_box span.more").click(function(){
    $(this).next(".full_item").show();
});

CSS for.full_item设置为display:none 目的是显示 div: full_item 点击跨度.more

提前致谢!

4

5 回答 5

2

.more在 a 里面p,它在里面.news_text,并且.full_item是它的兄弟。因此,以下应该可以解决问题:

$(this).closest('.news_text').siblings('.full_item').show();

。兄弟姐妹()

于 2012-04-04T14:15:06.640 回答
0

span 不是 .full_item 的兄弟。尝试

$(this).parent().nextAll(".full_item").show();

此外,该函数next 将不起作用,因为 .full_item 没有紧跟 p 的父级。改为使用nextAll

于 2012-04-04T14:15:16.153 回答
0

我已将解决方案放入 jsfiddle:

http://jsfiddle.net/55mUj/

$(".news_box span.more").click(function(){
    $(this).closest('.news_text').siblings('.full_item').show();
});​
于 2012-04-04T14:28:29.863 回答
-1
$(this).parent().next(".full_item").show();
于 2012-04-04T14:15:07.530 回答
-1
$(".news_box span.more").click(function(){
   $(this).closest(".news_box").next(".full_item").show();
});

应该管用。

于 2012-04-04T14:16:26.240 回答