Chrome隐藏不应影响的元素

时间:2015-10-06 07:38:22

标签: javascript css google-chrome hidden

Here's a fiddle我的问题,以及代码片段,如果不起作用:

$(function() {
  $('div').hover(
    function() {
      $(this).append("<div id='xxx'>ccc</div>")
    },
    function() {
      $('#xxx').remove();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <div>
        <a href="xxx">
          <img src="xxx">aaa
        </a>
        bbb
      </div>
    </td>
  </tr>
</table>

当我将鼠标悬停在div之外时,链接aaa 的文字部分会消失。由于某种原因,我变成了:hover{visibility:visible} 它与元素ID或文本或链接无关 这是Chrome问题,Firefox可以正常工作。

这是一个bug还是这里的js问题?为什么Chrome会这样做?

4 个答案:

答案 0 :(得分:2)

周围&#39; bbb&#39;使用span修复了问题:

&#13;
&#13;
$(function() {
  $('div').hover(
    function() {
      $(this).append("<div id='xxx'>ccc</div>")
    },
    function() {
      $('#xxx').remove();
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <div>
        <a href="xxx">
          <img src="xxx">aaa
        </a>
        <span>bbb</span>
      </div>
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

用户解决此问题的方法后

<script>
$('div').hover(
    function() {
        $(this).after("<div id='xxx'>ccc</div>")
    },
    function() {
        $('#xxx').remove();
    }
);
</script>

答案 2 :(得分:1)

尝试使用:

$('div').hover(
    function() {
        $(this).parent().append("<div id='xxx'>ccc</div>");
    },
    function() {
        $('#xxx').remove();
    }
);

答案 3 :(得分:0)

有趣的行为。我试图添加此内容,<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="test" verbose="10"> <parameter name="component" value="run" /> <parameter name="testtype" value="sanity" /> <listeners> <listener class-name="class" /> </listeners> <test name="testa" time-out="5400000"> <classes> <class name="classa " /> </classes> </test> <test name="testb" time-out="3600000"> <classes> <class name="classb"/> </classes> </test> <test name="testc" > <classes> <class name="classc" /> </classes> </test> <test name="testd"> <classes> <class name="classdd> </class> </classes> </test> </suite> 的文本部分正在显示。

aaa