为啥jQuery可以这样使用的$(id)不加双引号,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥jQuery可以这样使用的$(id)不加双引号,相关的知识,希望对你有一定的参考价值。

$(“#id”)还可以理解,传入字符串参数进行DOM解析。
$(document),可以用是因为document是系统自动生成的对象,
但直接就写个id,js中这样应该看作对象,但没定义id这个对象啊,
$()函数的实现原理是什么

$(id),如果id没有定义,会直接报错,不会执行。相关资料可以参考jQuery选择器:

jQuery 选择器

选择器    实例    选取
*    $("*")    所有元素    
#id    $("#lastname")    id="lastname" 的元素    
.class    $(".intro")    所有 class="intro" 的元素    
element    $("p")    所有 <p> 元素    
.class.class    $(".intro.demo")    所有 class="intro" 且 class="demo" 的元素    
               
:first    $("p:first")    第一个 <p> 元素    
:last    $("p:last")    最后一个 <p> 元素    
:even    $("tr:even")    所有偶数 <tr> 元素    
:odd    $("tr:odd")    所有奇数 <tr> 元素    
               
:eq(index)    $("ul li:eq(3)")    列表中的第四个元素(index 从 0 开始)    
:gt(no)    $("ul li:gt(3)")    列出 index 大于 3 的元素    
:lt(no)    $("ul li:lt(3)")    列出 index 小于 3 的元素    
:not(selector)    $("input:not(:empty)")    所有不为空的 input 元素    
               
:header    $(":header")    所有标题元素 <h1> - <h6>    
:animated         所有动画元素    
               
:contains(text)    $(":contains('W3School')")    包含指定字符串的所有元素    
:empty    $(":empty")    无子(元素)节点的所有元素    
:hidden    $("p:hidden")    所有隐藏的 <p> 元素    
:visible    $("table:visible")    所有可见的表格    
               
s1,s2,s3    $("th,td,.intro")    所有带有匹配选择的元素    
               
[attribute]    $("[href]")    所有带有 href 属性的元素    
[attribute=value]    $("[href='#']")    所有 href 属性的值等于 "#" 的元素    
[attribute!=value]    $("[href!='#']")    所有 href 属性的值不等于 "#" 的元素    
[attribute$=value]    $("[href$='.jpg']")    所有 href 属性的值包含以 ".jpg" 结尾的元素    
               
:input    $(":input")    所有 <input> 元素    
:text    $(":text")    所有 type="text" 的 <input> 元素    
:password    $(":password")    所有 type="password" 的 <input> 元素    
:radio    $(":radio")    所有 type="radio" 的 <input> 元素    
:checkbox    $(":checkbox")    所有 type="checkbox" 的 <input> 元素    
:submit    $(":submit")    所有 type="submit" 的 <input> 元素    
:reset    $(":reset")    所有 type="reset" 的 <input> 元素    
:button    $(":button")    所有 type="button" 的 <input> 元素    
:image    $(":image")    所有 type="image" 的 <input> 元素    
:file    $(":file")    所有 type="file" 的 <input> 元素    
               
:enabled    $(":enabled")    所有激活的 input 元素    
:disabled    $(":disabled")    所有禁用的 input 元素    
:selected    $(":selected")    所有被选取的 input 元素    
:checked    $(":checked")    所有被选中的 input 元素

参考技术A 因为jquery把id自动转换为对象了

关于Jquery的 $.getJSON()函数

 1.服务器返回的Json数据必须严格符合JSIN语法,例如:所有属性名称必须加双引号,所有字符串值必须加双引号(不可以是单引号)

语法:

  Jquery.getJSON( url [,data][,success])

  url: String类型 指定请求的目标URL

  data:可选  发送请求传递的数据

  success: 请求成功时执行的回调函数。 函数有三个参数:一  是请求返回的数据  二 请求状态文本(例如"success","notmodified"),三 当前jqXHR对象

 

JQuery.getJSON(url,data,success);

//等价于

$.ajax({

  url:url,

  type:"GET",

  data:data,

  success:success,

  datatype:"json"

});

 

 

/ 获取"/action.php?m=list&page=2&size=10"的JSON数据,获取成功时弹出对话框
$.getJSON( "/action.php?m=list", { page: 2, size: 10  }, function(data, textStatus, jqXHR){

    // 如果服务器返回的JSON格式的数据是 [ {"id":11, "title":"文章11"}, {"id":12, "title":"文章12"}, {"id":13, "title":"文章13"} ]
    // jQuery将获取的JSON格式数据转换为JS数组
    for(var i in data){
        var obj = data[i];
        alert( obj.title );
    }

} );










以上是关于为啥jQuery可以这样使用的$(id)不加双引号,的主要内容,如果未能解决你的问题,请参考以下文章

字符串加双引号""与不加的区别

Oracle字段别名加as与不加的区别

json的对象属性必须加双引号吗

json的对象属性必须加双引号吗

JSON异步加载时间线

c语言输出数据类型时为啥要加双引号?