zoukankan      html  css  js  c++  java
  • jQuery选择器中的特殊符号和关键字

    一般情况下,在jQuery选择器中,我们很少会用到诸如“.”、“#”、“(”、“[”等特殊字符,因为根据W3C规定,HTML文档中属性的值是不能包含有这些个特殊字符的,但是在实际应用中,偶尔也会遇到表达式中含有“#”和“.”等特殊字符,
    正如我的Skygq表单验证和表单ajax提交合体版插件,在许多人的使用过程中出现了需要选择器中支持“.”的操作(他们都是java程序员)。

    那么是如何处理这些个特殊字符的呢?
    要想让jQuery能处理这些特殊字符,使用普通的方式处理的话,是不照的,是必须要进行转义的。

    HTML代码:
    1
    <div id="id.a">aa</div>

    2
    <div id="id#b">bb</div>


    Jquery代码:

    view source print?
    1
    var $id_a = $('#id.a');//jQuery对象,实际上是没取到元素的

    2
    var $id_b = $('#id#b');//jQuery对象,实际上是没取到元素的

    3 alert($id_a.length);//输出0

    4 alert($id_b.length);//输出0

    5 var $id_right_a = $('#id\.a');//jQuery对象,对特殊字符,我们转义一下

    6 var $id_right_b = $('#id\#b');//jQuery对象,对特殊字符,我们转义一下

    7 alert( $id_right_a.html() );//正确输出"aa"

    8 alert($id_right_b.html() );//正确输出"bb"

    ======================项目经验=====================

    前几天做项目的时候,遇到了更坑人的问题,因为时间原因,现在才来记录

    2、前端Jquery和权限字符串冲突问题。
        Jquery选择器的一些特殊字符 : {‘_’(下划线),‘.’(点),‘#’(井号),‘act’}  (补充:下划线‘_’,和'act'也是Jquery 的关键字,当时也是莫名其妙的找不到原因)  

        保存权限字符到后台再到数据库没有问题,
        到数据库取出数据到没页面没有问题,
        在页面展示的时候出现问题。
        问题详细:页面元素的id和text内容都是动态加载的,后台返回数据,JSP页面C标签遍历,动态生成页面元素
        Jquery选择器通过ID选择器,选取这些元素添加样式,DEBUG调试查看过前后的样式,也加上去了,
        然而页面显示时样式并没有显示出来,审查元素时发现样式并不存在。
        
        后来怀疑原因是Jquery选取id的时候和Jquery选择器的关键字冲突了。
        修改id字符串里的‘_’(下划线),或者不用act关键词, 解决了问题。

    
    
    ======================项目经验=====================









  • 相关阅读:
    CF1093F Vasya and Array
    CF1093D Beautiful Graph
    mysql主主同步
    mysql主从机制的部署与应用
    什么是多项式?
    从线性逼近到多项式逼近:泰勒级数
    机器学习--boosting家族之XGBoost算法
    倾情大奉送--Spark入门实战系列
    [机器学习笔记] 什么是分类,什么是回归?
    kafka中处理超大消息的一些考虑
  • 原文地址:https://www.cnblogs.com/heganlin/p/6109897.html
Copyright © 2011-2022 走看看