jQuery在悬停时显示图像,检测元素ID的某些部分

时间:2013-03-11 21:18:45

标签: jquery

我想在链接悬停上创建一个介于<a></a>标记之间的图片。这是我的代码:

<li id="pic39">
    <span class="pr2"></span>
    <a id="pic39" href="http://shrani.slo-devs.com/index.php?p=6vxK53pk" target="_blank">Sandra</a>
    <span class="edit" onclick="location.href='index.php?e=39'"></span>
    <span class="delete" onclick="deletePIC(39)"></span>
    <i class="infoSlike">(0 ogledov | 11.03.2013 / 21:59:31)</i>
    <div id="imgPrv">
        <span id="imgPrv39">
            <img src="http://www.shrani.slo-devs.com/upl/CENSURE.jpeg" />
        </span>
    </div>
</li>

我希望jQuery检测标记ID的其余部分(因此,数字 39 )并显示包含数字 39 的范围(范围为 imgPrv39 )。

2 个答案:

答案 0 :(得分:1)

$('li a').hover(function(){
   // You can replace the `pic` with an empty string
   var id = this.id.replace('pic', '');
   $('#imgPrv' + id).toggle();
})

请注意,ID必须是唯一的,您有多个具有相同ID的元素,您的标记无效,您应该使用类。

您还可以使用siblings方法:

$('li a').hover(function(){
   $(this).siblings('div').find('span').toggle();
})

答案 1 :(得分:0)

你不需要这样做。您可以使用相对选择器并消除所有此ID业务。

这假设您的LI中只有一个A和一个SPAN。如果您想更具体,可以使用类名。

$("li a").hover(
  function () {
    $(this).find('span').show();
  },
  function () {
     $(this).find('span').hide();
  }
);