4

快速提问。如果我试图一次清除具有相同类的多个 div,是否有 jQuery 捷径来执行此操作?我试过$('.clearit').empty();了,但这似乎根本不起作用(该类的 div 上没有一个被清除)。我可能做错了还是这不起作用?告诉我,我试过了$('.clearit').html('');。此外,我还拥有它以及在 jquery 中运行的其他代码,其他所有代码都按应有的方式运行。我调试了代码,它似乎运行了函数并继续前进,没有错误,但 div 内容没有被清除。以下是 div 的示例:

<center><div class="clearit" id="container2">Loading the player ...</div></center>
</li>
<li>
<center><div class="clearit" id="container3">Loading the player ...</div></center>
</li>
<li>  
<center><div class="clearit" id="container4">Loading the player ...</div></center>

这是其中一个处理程序的代码。请注意,除了$('.clearit').html('');.

$('.thumbNav li a').click(function(){
    $('.clearit').html('');


var str = $(this).html();
var pattern = /[0-9]+/g;
var matches = str.match(pattern);
var myInteger = parseInt(matches);
//variable for player
var container = "container"+myInteger;
var what = 'skill'+myInteger;
var location = "https://aliahealthcare.com/videofetcher.php?id=skill"+myInteger;
player(container,what,location);  

$('#'+what).attr('selected', 'selected');   


    });

对于仍在帮助我的任何人,非常感谢!我还修改了该站点,因此您不再需要登录即可进入,因此您可以自己查看它的运行情况。请使用上面的代码作为查找 javascript 的参考。(都位于 vid.php 中)谢谢

https://aliahealthcare.com/vid.php

我也刚刚发现了一些有趣的东西。上面的 li 是具有滑块 id 的 ul 的一部分。当我这样做$('#slider').html('');$('#slider').empty();它工作时,它会清除所有 div,因此在这些 div 中加载的播放器不会加载。我需要做的就是清除玩家,这样你就不能同时运行多个玩家。

4

3 回答 3

3

请在此处查看工作演示:http : //jsfiddle.net/TxR8K/

从您给定的代码更新:http: //jsfiddle.net/TxR8K/1/

顺便说一下,您的无序列表标记即ul示例中缺少:)

在与 OP 讨论后进一步更新- 我们还发现 - 玩家实际上不是 div 中 html 的一部分,因此他/她知道需要做什么并为进一步修复扫清了道路:)

这应该可以解决问题

   $('.clearit').html('');
于 2012-06-12T06:51:30.667 回答
3

您的问题很可能是您在 DOM 加载之前运行该命令。在 StackOverflow 中打开一个控制台窗口并运行$("div").empty();. 一切都消失了!

于 2012-06-12T06:52:55.383 回答
2

您的代码应该可以正常工作。

请检查

  • $(document).ready(function() {...})简而言之,您将代码放入其中$(function() {..})

  • 您正在正确加载jQuery 库

  • 没有任何拼写错误

如果一切正常,那么您的代码应该可以工作。

如果没有,请尝试使用@Tats_innit答案。

根据你编辑

我仍然认为您的代码应该可以工作。

但如果没有,那么你可以试试这个:

$('div[id^=container].clearit').empty();

演示

于 2012-06-12T06:56:03.953 回答