在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-->
Jquery的:
$(".news_box span.more").click(function(){
$(this).next(".full_item").show();
});
.full_item
的CSS设置为display:none
目的是在点击范围.more
提前致谢!
答案 0 :(得分:2)
.more
位于p
内,位于.news_text
内,.full_item
是其中的兄弟。所以以下应该可以解决问题:
$(this).closest('.news_text').siblings('.full_item').show();
答案 1 :(得分:0)
span不是.full_item的兄弟。尝试
$(this).parent().nextAll(".full_item").show();
此外,函数next
将无效,因为.full_item不会紧跟在p的父级之后。请改用nextAll
。
答案 2 :(得分:0)
我已将解决方案放入jsfiddle:
$(".news_box span.more").click(function(){
$(this).closest('.news_text').siblings('.full_item').show();
});
答案 3 :(得分:-1)
$(this).parent().next(".full_item").show();
答案 4 :(得分:-1)
$(".news_box span.more").click(function(){
$(this).closest(".news_box").next(".full_item").show();
});
应该工作。