javascript - jQuery - el.val(!e.val()) 返回 false

标签 javascript jquery

我有一个表单元素,我想在点击事件时在 1 和 0 之间切换值。

我知道我可以存储该值并对其进行测试,以确定该字段的新值。

我的问题是,为什么以下不起作用?

$('#myEl').val(!$('#myEl').val());

最佳答案

val() 返回一个字符串,! 返回一个 bool 值,该 bool 值转换为字符串(通过 val(...))变为“假”。

而是使用一元 + 两次将字符串转换为数字,将 bool 值转换为数字:

$("#toggle").click(function () {
    $('#myEl').val(+!+$('#myEl').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myEl" value="1">
<button id="toggle">Toggle</button>

关于javascript - jQuery - el.val(!e.val()) 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598065/

相关文章:

javascript - 从javascript中的函数访问变量?

javascript - D3js v4 画笔、缩放和点击时居中画笔

Javascript:建表和插入数据

javascript - 为什么 setTimeout 在 IE 上不起作用

asp.net - 如何获取RadioButtonList的innerText

javascript - 通过 javascript 或 jquery 读取 cookie 值

javascript - 这是一段恶意代码吗?

javascript - URLSearchParams 无法追加数组

javascript - 第二次单击时 jQuery 对话框未打开

javascript - 在javascript中获取textarea html的值