如何使用(this)jquery使用波形符选择器

时间:2015-06-23 17:01:41

标签: jquery jquery-selectors

下午好,我试图在div中选择一个特定的兄弟姐妹。我尝试过使用我发现的许多不同推荐,似乎无法使用。使用this,看起来我可以使用这样的东西:

$( "#prev ~ div" ).css( "border", "3px groove blue" );

但是,我想在选择器中使用(this),也许是这样:

&(this " ~ p").show();

基本上,我只是在触发某个事件时试图显示一个段落兄弟。如果有人有更好的方法,我非常乐意接受建议。我尝试过其他方法,例如使用next()和兄弟姐妹(" p"),但似乎无法让它发挥作用。这是我目前拥有的html和jquery的一部分。

<div class="col-sm-8 items">
    <div class="item">
        <h6>Dynamic Web Programming<h6>
        <img src="DynamicWebProgramming.jpg">
        <p>This book is a great tool for learning to develop Dynamic Web Pages.</p>  
         // This is the paragraph that is hidden and I want to show on mouseover
    </div>
</div>

$(document).ready(function() {
    $(".item p").hide();

    $(".item h6").mouseover(function() {
        $(this).addClass("mouseover");
        $(this).siblings().addClass("mouseover");
        $(this).siblings("p").show(); // This is where I want to call .show() for the 
                                         specific sibling
    })

    $(".item p").click(function() {
        $(this).removeClass("mouseover");
        $(this).siblings().removeClass("mouseover");
    })
})

如果有人可以提出任何建议,那就太棒了! 谢谢, 安迪

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上,我将鼠标悬停改为悬停:

$(".item h6").hover(function() {
    $(this).toggleClass("mouseover");
    $(this).siblings().toggleClass("mouseover");
    $(this).siblings("p").show(); // This is where I want to call .show() for the  specific sibling
},function(){
    $(this).toggleClass("mouseover");
    $(this).siblings().toggleClass("mouseover");
    $(this).siblings("p").hide();
});

fiddle此处