0

ホバーに問題があります。IE では問題なく動作しますが、Mozilla Firefox や Chrome では動作しません。tdごとにかなり曖昧だからだと思いますが、今のところそれが必要です。これがフィドルです(機能していません)http://jsfiddle.net/233qG/よろしくお願いします。

HTML

<table>
    <tr>
        <td>one</td>
    </tr>
    <tr>
        <td>two</td>
    </tr>
    <tr>
        <td>three</td>
    </tr>
</table>
<div class="modalPop">Modal Information</div>

CSS

div.modalPop
{
    display:none;
    position:absolute;
    border:solid 1px black;
    padding:8px;
    background-color:white;
    margin: 280px 50px 0 0;
    z-index: 9999;
}
a.modalPop:hover + div.modalPop
{
    display:block;
}
div.modalPop:hover
{
    display:block;
}

jQuery

$(document).ready(function(){
    $('td').hover(
      function(){$('.modalPop' + this).stop().hide().fadeIn('slow');},
      function(){$('.modalPop' + this).stop(true, true).fadeOut('slow');}
    );  
});
4

2 に答える 2

8

$('.modalPop' + this)無効です。thisはオブジェクトです。文字列をオブジェクトと連結しようとしています。使うだけ$('.modalPop')

コンソール (chrome ツールまたは firebug) で開くと、次のようなエラーが表示されます。

キャッチされないエラー: 構文エラー、認識されない式: .modalPop[object HTMLTableCellElement]

率直に言って、なぜ IE でも機能するのかわかりません。なぜthis文字列に追加するのですか?

于 2013-02-12T16:13:53.350 に答える
1

私はあなたがこのようなことを意味すると思います:

$('td').hover(
  function(){$('.modalPop').stop().hide().fadeIn('slow').html("Modal Information : " + $(this).text());},
  function(){$('.modalPop').stop(true, true).fadeOut('slow');}
);

http://jsfiddle.net/233qG/3/

于 2013-02-12T16:15:44.150 に答える