gpt4 book ai didi

javascript - 为什么 'value' 的 Jquery 选择器在动态变化的情况下不起作用

转载 作者:行者123 更新时间:2023-11-29 14:44:55 27 4
gpt4 key购买 nike

我不确定为什么 jquery 选择器 value 不起作用,试图将输入的值更改为 "a"length不是增量,请检查下面的简单示例:

$('body').on('input', '.example', function() {
$('#result').text($('.example[value="a"]').length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="example" value="a">
<input type="text" class="example" value="b">
<input type="text" class="example" value="c">

<div id='result'></div>

最佳答案

如果您动态更改值,属性选择器将不会选择它。您可以改用 filter()

Attribute selector will not check the dom node's value property it only targets the element's attribute

$('body').on('input', '.example', function() {
$('#result').text($('.example').filter(function() {
return this.value == 'a'
}).length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="example" value="a">
<input type="text" class="example" value="b">
<input type="text" class="example" value="c">

<div id='result'></div>


或者您需要在输入事件上手动更新元素属性

$('body').on('input', '.example', function() {
$(this).attr('value', this.value);
$('#result').text($('.example[value="a"]').length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="example" value="a">
<input type="text" class="example" value="b">
<input type="text" class="example" value="c">

<div id='result'></div>

关于javascript - 为什么 'value' 的 Jquery 选择器在动态变化的情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34063628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com