1

尝试应用.hover到基于动态 ID 显示 div 的类。例如:

HTML

<div id="parent_one">
    <div class="touch" id="one">Touch me!</div>
    <div id="t_one"></div>
</div>
<div id="parent_two">
    <div class="touch" id="two">Touch me!</div>
    <div id="t_two"></div>
</div>

jQuery

$('.touch').hover(
    function(){
        var id = $(this).attr('id');
        var value = '#t_' + id;
        $(value).fadeIn(800);
    },
    function(){
        var id = $(this).attr('id');
        var value = '#t_' + id;
        $(value).delay(1500).fadeOut(800);
    }
);

我有一种感觉,我的错误在于使用$(this)但无法确定。

4

1 回答 1

5

这:

var value = 't_' + id;

需要包括#

var value = '#t_' + id;

否则,您只是选择带有标签的元素t_one,这不是现有的标签名称。

但是,为此使用 id 非常难看。如果你有像这样一致的 HTML,为什么不使用这样的类结构:

<div>
  <div class="touch-handle">Touch me!</div>
  <div class="content"></div>
</div>

用这样的JS:

$('.touch-handle').hover(
  function(){
    $(this).next('.content').fadeIn(800);
  },
  function(){
    $(this).next('.content').delay(1500).fadeOut(800);
  }
);
于 2012-12-26T19:49:56.157 回答