jQuery .remove() - youtube iframe未在Internet Explorer中完全删除

pab*_*osd 3 iframe xhtml jquery

我正在使用jQuery 1.7.1从这个表中删除元素tr,它在Internet Explorer中运行不正常(我有8.07,但我想更多的IE会这样做 - 其他人也有同样的事情)

删除电话:

$("#tr_video_element_1").remove();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,屏幕变黑(看起来像是一个youtube iframe背景或者其他东西 - 几天前网站的一部分是其中一个YouTube视频的链接).

代码验证正常.我究竟做错了什么?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>


<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link type="text/css" href="css/smoothness/jquery-ui-1.8.16.custom.css" rel="stylesheet" /> 
    <link rel="stylesheet" type="text/css" href="css/style.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    <script src="js/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
    <script src="js/sorted_elements.js" type="text/javascript"></script>
    <script src="js/ajax.js" type="text/javascript"></script>
    <title> Panel </title>
</head>
<body><table id="editorial_table"><thead><tr>
                    <th>Position</th>
                    <th>Youtube video id</th>
                    <th>Video</th>
                    <th>Delete</th>
                 </tr>  
         </thead><tbody><tr class="video_tr_element" id="tr_video_element_1"><td><input readonly="readonly" class="position" name="input_position_1" id="input_position_1" size="1" type="text" value="1" /></td><td><input class="yt_link" name="yt_link_position_1" id="yt_link_position_1" type="text" value="cjDyJnzYgpk" />
                   <div style="margin:auto; margin-top:9px; width:70px; ">
                        <a href="#" class="up 1" id="up_pos_1"><img src="img/up_arrow.png" alt="Move object up"  /></a>
                        <a href="#" class="down 1" id="down_pos_1"><img src="img/down_arrow.png" alt="Move object down" /></a>
                  </div>
              </td><td><div class="inline" style="height:186px;width:210px;margin:0;margin-right:5px;padding:0; ">

                        <iframe id="if_pos_1" title="YouTube video player" class="youtube-player"
                        width="210" height="186" src="http://www.youtube.com/embed/cjDyJnzYgpk"
                        frameborder="0"></iframe>
            </div></td><td><a class="delete 1" href="#">Delete</a></td></tr><tr class="video_tr_element" id="tr_video_element_2"><td><input readonly="readonly" class="position" name="input_position_2" id="input_position_2" size="1" type="text" value="2" /></td><td><input class="yt_link" name="yt_link_position_2" id="yt_link_position_2" type="text" value="cjDyJnzYgpk" />
                   <div style="margin:auto; margin-top:9px; width:70px; ">
                        <a href="#" class="up 2" id="up_pos_2"><img src="img/up_arrow.png" alt="Move object up"  /></a>
                        <a href="#" class="down 2" id="down_pos_2"><img src="img/down_arrow.png" alt="Move object down" /></a>
                  </div>
              </td><td><div class="inline" style="height:186px;width:210px;margin:0;margin-right:5px;padding:0; ">

                        <iframe id="if_pos_2" title="YouTube video player" class="youtube-player"
                        width="210" height="186" src="http://www.youtube.com/embed/cjDyJnzYgpk"
                        frameborder="0"></iframe>
            </div></td><td><a class="delete 2" href="#">Delete</a></td></tr><tr class="video_tr_element" id="tr_video_element_3"><td><input readonly="readonly" class="position" name="input_position_3" id="input_position_3" size="1" type="text" value="3" /></td><td><input class="yt_link" name="yt_link_position_3" id="yt_link_position_3" type="text" value="NMqLH6_bDNs" />
                   <div style="margin:auto; margin-top:9px; width:70px; ">
                        <a href="#" class="up 3" id="up_pos_3"><img src="img/up_arrow.png" alt="Move object up"  /></a>
                        <a href="#" class="down 3" id="down_pos_3"><img src="img/down_arrow.png" alt="Move object down" /></a>
                  </div>
              </td><td><div class="inline" style="height:186px;width:210px;margin:0;margin-right:5px;padding:0; ">

                        <iframe id="if_pos_3" title="YouTube video player" class="youtube-player"
                        width="210" height="186" src="http://www.youtube.com/embed/NMqLH6_bDNs"
                        frameborder="0"></iframe>
            </div></td><td><a class="delete 427" href="#">Delete</a></td></tr><tr class="video_tr_element" id="tr_video_element_4"><td><input readonly="readonly" class="position" name="input_position_0" id="input_position_0" size="1" type="text" value="0" /></td><td><input class="yt_link" name="yt_link_position_0" id="yt_link_position_0" type="text" value="" />
                   <div style="margin:auto; margin-top:9px; width:70px; ">
                        <a href="#" class="up 0" id="up_pos_0"><img src="img/up_arrow.png" alt="Move object up"  /></a>
                        <a href="#" class="down 0" id="down_pos_0"><img src="img/down_arrow.png" alt="Move object down" /></a>
                  </div>
              </td><td><div class="inline" style="height:186px;width:210px;margin:0;margin-right:5px;padding:0; ">

                        <iframe id="if_pos_0" title="YouTube video player" class="youtube-player"
                        width="210" height="186" src="http://www.youtube.com/embed/"
                        frameborder="0"></iframe>
            </div></td><td><a class="delete 478" href="#">Delete</a></td></tr><tr class="video_tr_element" id="tr_video_element_5"><td><input readonly="readonly" class="position" name="input_position_4" id="input_position_4" size="1" type="text" value="4" /></td><td><input class="yt_link" name="yt_link_position_4" id="yt_link_position_4" type="text" value="NMqLH6_bDNs" />
                   <div style="margin:auto; margin-top:9px; width:70px; ">
                        <a href="#" class="up 4" id="up_pos_4"><img src="img/up_arrow.png" alt="Move object up"  /></a>
                        <a href="#" class="down 4" id="down_pos_4"><img src="img/down_arrow.png" alt="Move object down" /></a>
                  </div>
              </td><td><div class="inline" style="height:186px;width:210px;margin:0;margin-right:5px;padding:0; ">

                        <iframe id="if_pos_4" title="YouTube video player" class="youtube-player"
                        width="210" height="186" src="http://www.youtube.com/embed/NMqLH6_bDNs"
                        frameborder="0"></iframe>
            </div></td><td><a class="delete 494" href="#">Delete</a></td></tr></tbody></table>
</body></html>
Run Code Online (Sandbox Code Playgroud)

小智 11

我最近在Internet Explorer 8上遇到了这个问题.我的工作是首先清空iframe的src属性,然后将其删除.

$('#iframeID').attr("src", " ");
$('#iframeID').remove();
Run Code Online (Sandbox Code Playgroud)

  • 虽然我使用了`$(this).attr('src','');但实际上它也是如此.就像附录一样,它仍然是IE9中的一个问题 - 惊喜,惊喜!:) (2认同)