为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

4 回答

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

1 回复 有任何疑惑可以回复我~

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


2 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

[^#]:以#号开头;

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

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

1 回复 有任何疑惑可以回复我~
#1

慕尼黑3821393

[^#]表示的是非#,^#表示的#。’.‘匹配一个字符,除了换行符以及结束符。
2016-11-06 回复 有任何疑惑可以回复我~
#2

qq_一直很安静_8

[^#]表示的是非#,^#表示的#。’.‘匹配一个字符,除了换行符以及结束符。
2019-08-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信