这是在浏览器中呈现的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();
});
是否可以在加载元素后调用隐藏代码?我该如何解决这个问题?
答案 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();
});
一旦元素及其中的所有内容都被加载,这将触发。