如何用jquery隐藏这个元素?

时间:2011-03-14 01:29:27

标签: javascript jquery hide

这是在浏览器中呈现的html代码。我想要隐藏div.embed元素:

<div id='video_div'>
<img src="http://i3.ytimg.com/vi/fTWpHknumdg/hqdefault.jpg" style="width: 200px; ">
<div class="embed">
<object width="300" height="194">
<param name="wmode" value="opaque"><param name="movie" value="http://www.youtube.com/v/fTWpHknumdg?version=3">
<param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always">
<embed src="http://www.youtube.com/v/fTWpHknumdg?version=3" type="application/x-shockwave-flash" width="300" height="194" allowscriptaccess="always" allowfullscreen="true" wmode="opaque">
</object>
</div>
</div>

这是我现在正在运行的js代码。这对我不起作用。然而它似乎在第一个答案提供的jsfiddle中起作用:

$(document).ready(function() {

$('a.oembed').embedly({maxWidth:300,'method':'replace'}).bind('embedly-oembed', function(e, oembed){ 
    $("#video_div").prepend($("<img>", { src: oembed.thumbnail_url, width:200 }));
});

$('div.embed').hide();
});

是否可以在加载元素后调用隐藏代码?我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

是否有必要使用Javascript来隐藏DIV?使用CSS

更简单
div.embed { display: none; }

<强>更新

$("#SomeElement").click(function() {
   $("div.embed").toggle();
});

CSS将处理初始状态; Javascript代码将允许隐藏/显示DIV。

答案 1 :(得分:0)

我试过了(jsfiddle):

$(document).ready(function() {
   $('div.embed').hide(); 
});

这很好用。也许隐藏代码是在元素加载到DOM之前调用的?

答案 2 :(得分:0)

尝试将它们链接在一起。所以像这样(使用children()来找到内部div:

$('a.oembed').embedly(
  {maxWidth:300,'method':'replace'}).bind('embedly-oembed', 
    function(e, oembed){ 
      $("#video_div").prepend($("<img>", {
        src: oembed.thumbnail_url, width:200 })).children("div.embed").hide();
});

如果总是假设隐藏,那么只需通过css。

<强>更新

尝试在$(document).ready()中使用。load()

$('div.embed').load(function() {
  $('div.embed').hide();
});

一旦元素及其中的所有内容都被加载,这将触发。