0

これまでのところ、効果的で洗練された jQuery をデプロイするために、他の人のコードとメソッドのスクランブルを解読しようと試みてきました。これは通常、単純化できると確信しているいくつかの呼び出しに発展します。

私がやろうとしていることは

1 -id特定の宣言名 (id 名) があるかどうかを確認します。

controlbar2- M4Vで終わらない場合はクラスを削除するか、

3-空の場合、または非表示#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

最初の部分は次のように書くことができます

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

$(".controlbar").remove();クラスコントロールバーを持つすべてのアイテムを削除します-毎回同じです。そのために each を使用する必要はありません。クラスを削除するだけの場合は、代わりにこれを試してください

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

またはアルンが示したようにさらに短い...

于 2013-05-22T04:58:07.817 に答える