0

到目前为止,我一直在尝试解扰其他人的代码和方法来部署有效和优雅的 jQuery,但我经常得到一些选项,这些选项后来让我对我应该注意的事情感到困惑。这通常会演变为一些我确信可以简化的调用。

我想做的是

1-检查是否id具有特定的声明名称(id 名称),

2-删除controlbar不以 M4V 结尾的类或

3-如果为空,或者只是plain'ol在hide#postvideo的父div中不存在articlePost.controlbar

4-但是,如果它确实以 M4V 结尾,请将其分离并将其附加,并将其元素属性附加到元素#fold-above......简单吧?我知道,可能不会。

我正在尝试使用的示例代码:

$('#postvideo').not('[src$=".m4v"]').empty().each(function() { 
    $(".controlbar").remove();  //elements whose src doesn't end with `.m4v`
});

$('.articlePost').empty('$("#postvideo").function() {
    $(".controlbar").remove();
});

$("#postvideo").detach().appendTo("#fold-above");

相同id,多次调用。谁能帮助解释如何以及为什么将所有这些都放入简洁的代码中会更好?

4

2 回答 2

1

$(".controlbar").remove();将删除所有带有类控制栏的项目-每次都相同。无需为此使用每个,如果您只想删除该类,请尝试使用此方法

$('#postvideo .controlbar').not('[src$=".m4v"]').each(function() {
  $(this).empty().removeClass("controlbar");
});

甚至像 Arun 展示的那样更短……

于 2013-05-22T04:58:07.817 回答
1

你的第一部分可以写成

$('#postvideo').not('[src$=".m4v"]').empty().removeClass('controlbar');
于 2013-05-22T05:05:56.123 回答