2015-10-02 4 views
5

私はちょうどオンラインこのFIDDLEに出くわしました。 JSは、以下のようになります。理解用法:選択

$(function() { 
    $('#add').click(function() { 
     return !$('#select1 option:selected').appendTo('#select2'); 
    }); 
    $('#remove').click(function() { 
     return !$('#select2 option:selected').appendTo('#select1'); 
    }); 
}); 

HTML ::選択した値を入れ替えるJSの

<SELECT id="select1" name="select1" size="3"><OPTION value="1">Test 1</option><OPTION value="2">Test 2</option></select> 
<SELECT id="select2" name="select2"></select> 
<br><input type="button" id="add" value="Add >>"><input type="button" id="remove" value="<< Remove"> 

その基本的にただ一枚。しかし、私は理解していないこと!演算子(not演算子)の使用です。

今はないオペレータが結果を反転さが、上記のコードでは、それが本当に何をやっていることを理解できますか?私は上記のフィドルでオペレーターが何をしているのか理解していませんし、それが最終結果にどのような影響を与えていますか?誰でも説明できますか?

答えて

5

それはやっての派手な方法です:

$('#add').click(function() { 
     $('#select1 option:selected').appendTo('#select2'); 
     return false; 
}); 

return falseは、イベントをキャンセルして、ボタンのデフォルトの動作を防止します。

オブジェクトは常にtruthyになりますので、!objectが偽となり、$(selector)は、オブジェクト

+0

を返す '!'演算子とない効果が何であるか、私はまだそれを得ることはありません:( –

+0

!OMG!私はそれを得た、Woooow超クールな技術。 –

+1

@AlexanderSolonikは、実際に私はあなたが聞いている場合もそう... – charlietfl

関連する問題