jquery empty()不起作用

时间:2013-12-30 14:23:16

标签: jquery html

我对jquery完全不熟悉 - 为任何愚蠢道歉。归结起来,我的问题很简单:

我有HTML代码:

<div class="v" align="center" id="div4">
 <div id="div5" class="h blurb">
  <span style="font-size:20px;">
   <div id="text">DISAPPEAR PLEASE</div>
  </span>
 </div>
 <y>
  <div class="exit">
  </div>
 </y>
</div>

当我点击“y”按钮时,我希望“DISAPPEAR PLEASE”文字清除。所以我使用了一些jquery:

 $("y").click(function(){
    $("#text").empty();

 })

......这不起作用。如果我用“#div5”代替它,它确实有效 - 但显然也删除了span和#text div,我需要保留它。我花了好几个小时:我怎么能清空闪烁的#text div?谢谢你的帮助...

3 个答案:

答案 0 :(得分:0)

这很好用。还有其他问题。如果问题特定于浏览器,您应该尝试使用document.createElement('y')创建元素,HTML5 shiv如何允许旧IE中的HTML5元素。

我在$('foo').empty()的简单演示在Chrome中运行得很好:http://jsbin.com/iNESoTad/3/edit?html,js,output

答案 1 :(得分:0)

Jquery的empty()方法删除了节点,而不是实际内容,这就是它在父div上工作的原因。尝试将.text()的文本(.html())或html(div)设置为空字符串。
另外,在div中加入span是不好的做法,因此您可能需要重新考虑那里的嵌套。

Source (Jquery API)

答案 2 :(得分:0)

您确定y代码吗?尝试删除它,而不是使用

 $(".exit").click(function(){
    $("#text").empty();

 })

并设置div.exit的宽度和高度以创建点击区域。