javascript - 了解 not 运算符在 :selected 中的用法

标签 javascript jquery

我刚刚遇到这个 FIDDLE 在线。 JS 如下所示:

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

HTML::

<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">

它基本上只是一段 JS 交换选择值。但是我不明白的是 ! 运算符(不是运算符)的用法。

现在我明白 not 运算符会反转结果,但在上面的代码中它到底在做什么?我不明白 not 运算符在上面的 fiddle 中做了什么,它对最终结果有什么影响?有人可以解释吗?

最佳答案

这是一种奇特的方式:

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

return false 通过取消事件阻止按钮的默认行为。

因为一个对象永远是真实的,!object 将是 false 并且 $(selector) 返回一个对象

关于javascript - 了解 not 运算符在 :selected 中的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32912367/

相关文章:

javascript - 如何在移动视频时移动 slider

javascript - 如何在 Three.js 中不拉伸(stretch)地重复纹理?

javascript - 如何定义自己的函数以从全日历事件调用

javascript - 在拇指顶部显示 slider 范围值

javascript - 如何禁用 swipe.js 轮播

jquery - 有没有办法检查 div 是否与 jQuery 中的祖先具有相同的类?

javascript - Bootstrap 模态不隐藏(ASP.NE MVC)

Javascript 事件监听器 - 触发顺序

javascript - JSRender 在循环内使用 "this"变量?

javascript - AOT : Error: Uncaught (in promise): TypeError: Cannot read property '$' of undefined