zoukankan      html  css  js  c++  java
  • JQuery选择器中的一些注意事项

    1. 选择器中含有特殊符号的注意事项

    1. 1 选择器中含有",","#","("或"]"等特殊字符

    根据w3c的规定,属性值中是不能包含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有"#"和"."等特殊字符,如果按照普通的方式去处理出来的话就会出错。解决此类错误的方法是使用转义符转义。

    html代码如下:

    <div id="id#b">bb</div>
    <div id="id[1]">cc</div>

    如果按照普通的方式来获取,例如:

    $("#id#b");
    $("#id[1]");

    以上代码不能正确的获取到元素,正确的写法如下:

    $("#id\#b");
    $("#id\[1\]");

    1.2 属性选择器的@符号问题

    在jQuery升级版本过程中,jQuery在1.3.1版本中彻底放弃了1.1.0版本遗留下的@符号,假如使用1.3.1以上的版本,那么不需要在属性前添加@符号,比如:

    $(" div[@title='test'] ");

    正确的写法是去掉符号@,比如:

    $(" div[title='test'] ");

    如果你的项目中已使用较早的jQuery代码和插件,若把jQuery升级到最新后,出现代码报错或不能运行,那么很有可能是因为代码中使用了属性选择器的@符号而引起的。

    2. 选择器中含有空格的注意事项

    选择器中多一个空格或少一个空格也许会得到截然不同的结果。

    如后代选择器与过滤选择器的不同造成的效果如下:

    var $t_a=$('.test :hidden');//带空格的

    以上代码是选取class为"test"的元素里面的隐藏元素。

    而代码:

    var $t_b=$('.test:hidden');//不带空格的

    以上代码则是选取隐藏的class为"test"的元素。

  • 相关阅读:
    关于LoginFilter的问题
    MyEclipse:各种提示图标的含义
    Js获取当前日期时间及其它操作
    微信jsApI及微信分享对应在手机浏览器的调用总结。
    js 刷新页面window.location.reload();
    applicationContext.xml
    网页打开微信的链接
    myeclipse竖行删除
    实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
    循环链表
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4678257.html
Copyright © 2011-2022 走看看