铬元素隐藏,不应该影响我的问题

问题描述:

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会这样做?

+0

对我的作品 - 铬44.0.2403.130 – OddDev

+0

45.0.2454.101米,我不是唯一一个谁看到这个问题 – Qiao

+0

@Qiao没有,我也有同样的问题,奇怪的^,〜 – vivekkupadhyay

有趣的行为。我试图添加这个,并且显示aaa的文本部分。

function(){ 
     $(this).clearfix:after { 
     /* visibility: hidden; */}} 
+0

什么是'clearfix'? – Qiao

+0

clearfix是元素自动清除其子元素的一种方式,因此您不需要添加其他标记。 –

尝试使用此:

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

周边 'BBB' 与span修复该问题:方法之后

$(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> 
 
     <span>bbb</span> 
 
     </div> 
 
    </td> 
 
    </tr> 
 
</table>

+0

谢谢,我现在用它作为快速补丁 – Qiao

+0

@乔老实说,这不是一个补丁;错误是由于语法无效造成的。你不能指望jQuery为每一种情况做好准备,这是它的一个未捕获的异常。 Gecko按预期处理它,因为它不会将任何属性应用于文本,就像在本地查看php文件时一样,您只会看到文本。尽管Webkit试图理解你给出的内容并应用了一些属性,这会让jQuery感到困惑。我没有任何消息来源,因此如果我错了,那么纠正我:) – jaunt

用户解决这一问题

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

是的,它的工作原理... – Qiao

+0

如果你的问题解决了,请接受我的答案 –

+0

我没有想办法解决这个问题,你可以用很多方式做不同的事情。 'append'和'after'不一样,我不得不改变我的代码的其他部分。我需要知道我的代码有什么问题。但你可以回复它是一个铬错误,我会接受它)的确是。 – Qiao