添加脚本后 Div 消失

Div dissapears after I add script

提问人:in2d 提问时间:2/11/2021 最后编辑:MaxiGuiin2d 更新时间:2/11/2021 访问量:47

问:

我一直在尝试在我的页面上创建一个自动刷新时钟,但是在将脚本添加到我的文件后,全天候的 div 消失了,因此它不使用我添加到 div 的 CSS。 是那个不尽人意的。<div class="clock_item">

如果我在此之前关闭,它不会消失,但我想呆在里面。div.clock_itemdiv.clocktwodiv.clocktwodiv.clock_item

感谢您的帮助!

function loadlink() {
  $('.clocktwo').load('<?php echo get_template_directory_uri(); ?>/melbourne.php', function() {
    $(this).unwrap();
  });
}

loadlink();
setInterval(function() {
  loadlink()
}, 5000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="clock_item">


  <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 310 155" style="enable-background:new 0 0 310 155;" xml:space="preserve">
  <path d="M64.9,44v102.6H36.5V44h-36V19.4h100.5V44H64.9z"/>
  <path d="M105.3,146.7V19.4h28.4v101.9h54.2v25.3H105.3z"/>
  <path d="M281.3,19.4h28.4v127.2h-28.4L220.6,67v79.7h-28.4V19.4h26.6l62.4,81.9V19.4z"/>
  <path d="M0,154.9v-9.1h309.7v9.1H0z"/>
</svg> <!--// MEL LETTERS -->

  <h3>
    MELBOURNE
  </h3>
  
  <div class="clocktwo">

  </div>
</div>

javascript php html ajax

评论

1赞 Swati 2/11/2021
嗨,因为这里 unwrap 从 div 中删除父元素,这是选定的,在您的情况下,它和它的父元素是 .$(this).unwrap();clocktwoclock_item
0赞 in2d 2/11/2021
是的,你是对的。我用 wrap 替换 unwrap,它现在正在工作。你可以把它作为答案发布,这样我就可以标记它了。
1赞 Glossy Power 2/11/2021
我迟到了,我也发现了这个东西,但他是第一个

答:

1赞 Glossy Power 2/11/2021 #1

我认为这可以解决 不要在 div 标签中编写脚本

    <div class="clock_item">


<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 310 155" style="enable-background:new 0 0 310 155;" xml:space="preserve">
<path d="M64.9,44v102.6H36.5V44h-36V19.4h100.5V44H64.9z"/>
<path d="M105.3,146.7V19.4h28.4v101.9h54.2v25.3H105.3z"/>
<path d="M281.3,19.4h28.4v127.2h-28.4L220.6,67v79.7h-28.4V19.4h26.6l62.4,81.9V19.4z"/>
<path d="M0,154.9v-9.1h309.7v9.1H0z"/>
</svg>   // MEL LETTERS


      <h3>
    MELBOURNE
</h3>



    <div class="clocktwo">

</div>
  </div>
<script>
   function loadlink(){
    $('.clocktwo').load('<?php echo get_template_directory_uri(); ?>/melbourne.php',function () {
         $(this).unwrap();
    });
}

loadlink(); 
setInterval(function(){
    loadlink() 
}, 5000);
    </script>
    
    

评论

0赞 in2d 2/11/2021
不,伙计,我已经试过了。不过猜得好,谢谢
0赞 Glossy Power 2/11/2021
还行!但是你想创建时钟,或者你想复制AJAX代码
0赞 in2d 2/11/2021
目前两者都是
0赞 Glossy Power 2/11/2021
在setinterval中还有一个小猜测,添加分号loadlink();
0赞 in2d 2/11/2021
这也不能解决它:/
1赞 Swati 2/11/2021 #2

在您的代码中,unwrap 从所选元素中删除父元素,这就是您的外部元素被删除的原因,因为您的选择器是内部 div,即 : 和 outer 是 .取而代之的是 method,它将围绕匹配元素集中的每个元素包装 html 结构。即:$(this).unwrap()clocktwoclock_itemwrap

 $('.clocktwo').load('<?php echo get_template_directory_uri(); ?>/melbourne.php',function () {
   $(this).wrap();
 });