document.getElementById(/[^#].*/.exec(selector)[0])

来源:1-6 jQuery的类数组对象结构

lisa2moon

2016-06-15 10:45

/[^#].*/.exec(selector)[0] 这部分怎么理解呢?

写回答 关注

4回答

  • 满哥儿
    2018-07-27 17:56:51

    []中的^表示‘非’的意思,也就是不要#。整个正则表示去掉了#的其他字符。比如传入的是‘#first’,document.getElementId('first')

  • 慕尼黑3821393
    2016-11-06 10:22:43

    首先selector是传入的参数,就是jquery中$("#first")中的#first。因为document.getElementById()传入的参数没有前面的#,例如一个div<div id='frist'>,原生的javascript使用document.getElementById('first'),在jquery中是$('#first'),   /[^#].*/.exec(selector)[0]就是为了帮你去掉那个#号。再说一下exec(),它的返回值是一个类数组,类数组的第一项保存着刚匹配到的字符。


  • 慕粉4342794
    2016-11-03 19:26:20

    //中间的数组符号是什么意思啊?能详细介绍下么?

    我记得^前面好像没有其他字符了啊?

  • zdddrszj
    2016-06-17 15:34:50

    [^#]:以#号开头;

    . :一个元字符,匹配除了换行符以外的任意字符。

    * :同样是元字符,不过它代表的不是字符,也不是位置,而是数量——它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配。

    qq_一直很...

    [^#]表示的是非#,^#表示的#。’.‘匹配一个字符,除了换行符以及结束符。

    2019-08-04 09:51:53

    共 2 条回复 >

jQuery源码解析(架构与依赖模块)

由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密

84047 学习 · 280 问题

查看课程

相似问题