zoukankan      html  css  js  c++  java
  • jquery1.9的变化(官方升级指引没有提到的变化)

    今天从jquery1.7.1 升级至jquery 1.9.1,踩到两个坑,在此记录一下,方便其他朋友解决类似问题。

    1、data() 在不存在节点时的差异:
    取一个不存在节点的data值时,在1.7版本会返回undefined,而在1.9.1会返回unll。
    假设页面上不存在id为none的节点,但有以下JS代码:
    $('#none').data('anyKey');  在1.9.1会返回null。
    所以不要只用typeof $('none').data('anyKey') == 'undefined' 来判断该值。

    2、$.parseJSON方法的差异:
    假设后端有返回一空的JSON数据,并且他意外地只是一空字符串,当然这种字符串的可能性是非常小的,因为通常后端都会有方法处理成正常的JSON格式,如PHP的json_encode()函数。
    但是总有意外的时候,你期望要解析的JSON字符串,仅仅是一空字符串。那么,在jquery1.9.1的$.parseJSON()将会出错。
    $.parseJSON('');  //SyntaxError: JSON.parse: unexpected end of data
    在jquery1.9.1之前不会报错,看来要把容错处理要留给用户来做了。
    解决方法:
    $.parseJSON('{}');

    附jquery1.91的官方升级指引地址:http://jquery.com/upgrade-guide/1.9

  • 相关阅读:
    格式化你的git message
    git merge
    Git远程操作详解
    Limit
    EmailService
    RequestContextHolder getHttpServletRequest
    spring boot GlobalExceptionHandler @RestControllerAdvice @ExceptionHandler
    redis 的雪崩和穿透?
    FileUtil
    getWeekDay TimeUtil
  • 原文地址:https://www.cnblogs.com/zzbo/p/3022038.html
Copyright © 2011-2022 走看看