javascript - 如何 jQuery JavaScript 条件语句(初学者)

标签 javascript jquery

如果这是一个过于简单的问题,我深表歉意,但我的搜索毫无结果。

我有一个 jQuery 函数,它会在某些不包含 #message 输入的页面上产生错误:

Error: jQuery("#message").val() is undefined
Line: 56

还有我的 jQuery 函数:

function updateCountdown()
{
    var $left = 255 - jQuery( '#message' ).val().length;

    jQuery( '#countdown' ).text( $left + ' Characters Remaining' );
}

$( document ).ready( function()
{
    updateCountdown();

    $( '#message' ).change( updateCountdown );
    $( '#message' ).keyup( updateCountdown );
});

所以我的问题是,如何使用条件从没有 #message 输入的页面中删除错误消息?我相信我的问题是对 JavaScript 的工作原理缺乏基本的了解。

最佳答案

我不会费心对从选择器返回的 jQuery 对象执行显式测试 — 让 jQuery 为您做这件事!

$(function() {
  $('#message').each(function() {
    var $self = $(this);
    $self.bind('change keyup', function updateCountdown() {
      $('#countdown').text((255 - $self.val().length)) + ' characters remaining');
    });
  });
});

如果“#message”不匹配任何内容,则 .each( ... ) 调用将不会执行任何操作。

关于javascript - 如何 jQuery JavaScript 条件语句(初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277037/

相关文章:

jquery - 使用 Transify 时设置 border-radius 属性

javascript - 根据窗口宽度在 Superfish 和 FlexNav 之间切换

javascript - 将 JSON 文件从数据库解析为 JavaScript 时出现问题

javascript - 未满足的对等依赖生成器-karma@>=0.9.0

javascript - 如何在asp.net中的按钮单击OnClientClick上将文本框id传递给JavaScript

javascript - 在服务 AngularJS 上做一个函数变量

javascript - 视频结束后更换横幅

javascript - 如果选中复选框则显示 div,反之亦然

javascript - Nginx 位置 block 不适用于链接

javascript - 将弹出框固定到固定的导航栏