jQuery值属性选择器没有返回正确的元素数
jQuery value attribute selector not returning correct number of elements
我有一个程序,在键up后生成计数。JQuery代码:
$('.today').keyup(function() {
var Presents = $('input[value="/"]:visible');
$("#counter").html( "Present: " + Presents.length );
});
HTML: <input type="text" id="1" name="1" class="today" value="/">
<input type="text" id="2" name="2" class="today" value="/">
<input type="text" id="3" name="3" class="today" value="/">
<p id="counter"></p>
计数器标签将显示3后,第一个键。当我更改文本框中的值时,计数器框中的值不会更改。例如,当我改变文本框3的值为x时,
标签现在应该包含数字2。
您正在使用属性选择器,但是当您更改输入值时,它不会更改属性;只是性质。您可以使用filter()
来获取所需的内容:
$('.today').keyup(function() {
var Presents = $('input:visible').filter(function(){
return this.value == "/";
});
$("#counter").html( "Present: " + Presents.length );
});
JSFiddle
如果需要更新属性本身,只需在事件处理程序的顶部添加以下内容:
$(this).attr('value',this.value);
JSFiddle
但这对我来说似乎很乱。此外,我相信filter()
无论如何都会比属性选择器更快。
相关文章:
- react-让一个元素返回两个相邻的<tr>标签
- Javascript可见元素返回未定义
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用
- jQuery mMenu如何通过单击某些元素返回到上一节
- Ajax 元素返回完整的 html 代码
- Javascript:计算每个表的表行数,并向相应的元素返回一个值
- 激活 .stop() 后,将元素返回到其起始位置
- 访问 iFrame 中的元素返回空值
- Knockout.js 从 observableArray 中提取元素返回 undefined
- 获取 0 的文档元素返回什么
- scrollTop为javascript中的所有文档元素返回0,但滚动事件在body标记上触发
- 从Ajax生成的DOM元素返回id
- 如何在交换后将列表元素返回到其原始样式
- 文本元素返回"undefined"
- 从数组中获取随机元素返回相同的元素
- 从聚合物元素返回简单值
- React:将新插入的子元素返回给父元素以更新状态
- 元素返回NaN作为宽度
- 新添加的DOM元素返回null