javascript - 为什么 jquery 选择器从旧值而不是新值中选择元素

标签 javascript jquery html jquery-selectors selector

每当我使用带有选择器的 jquery 选择元素时,如果我获得所选元素的值,它会从旧值而不是新值中选择元素,它会给我新值。我的代码在这里 http://jsfiddle.net/HUdkN/3/ .

这里我使用 Australia 值来选择元素,即使我更改了值。它将选择元素。为什么 ???有人可以解释一下吗。

HTML 代码

    <input type="text" class="lbl" value="Australia" />
    <div id="result"></div>
    <br />
    <br/>
    <input type="button" value="check" id="check_btn">

JavaScript 代码

    function check_fnc() {
        jQuery('input').removeClass('error');
       jQuery('input[value="Australia"]').each(function () {
           $(this).addClass('error');
            $('#result').html(this.value);
       });
   }

   $('#check_btn').click(function () {
      check_fnc();
   })

最佳答案

那是因为 Attribute Equals selector例如 [value="Australia"] 匹配实际的 HTML 属性,而不是当前的 DOM 属性,value HTML 属性将始终包含元素的原始值。

要匹配当前值,可以使用filter()相反:

$("input").filter(function() {
    return this.value == "Australia";
}).each(function() {
    $(this).addClass("error");
    $("#result").html(this.value);
});

关于javascript - 为什么 jquery 选择器从旧值而不是新值中选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567496/

相关文章:

javascript - 如何重新打开语义 ui 模式?

Javascript 在没有 DST 的情况下无法获取时区

javascript - 针对引荐来源网址字符串进行正则表达式检查

HTML自适应表格(宽度,高度)

javascript - jquery/javascript 从字符串声明变量

javascript - 需要帮助删除 Javascript 中的 li 项目符号

javascript - 在 cytoscape.js 中单击连接节点时更改边线颜色

jquery - 滚动时全屏背景在 iPad 上变成空白

javascript - 如何修复双击 jQuery 上/下滑动动画?

javascript - 使用正则表达式在 html 中查找 url