'[href ^ ="/"]'是什么意思?

Lea*_*cim 5 javascript backbone.js

在下面的代码中,是a[href^="/"]一个正则表达式?

为什么它有^符号,它有什么作用?

它会/不会响应哪些点击事件?

$(document).on('click', 'a[href^="/"]', function(e) { 
     e.preventDefault(); 
     var href = $(e.currentTarget).attr('href'); 
     console.log('click ' + href); 
     Backbone.history.navigate(href, { trigger: true }); 
}); 
Run Code Online (Sandbox Code Playgroud)

(代码来源)

Buz*_*nas 11

问:在下面的代码中,是a[href^="/"]正则表达式吗?

R.不,这不是一个正则表达式.它是一个(基于CSS)的jQuery选择器.

问:为什么它有^符号,它有什么作用?

它有这个符号,因为它意味着startsWith.

问:它会/不会响应哪些点击事件?

R.它将响应任何a具有以... href开头的属性的标记/.


注意:Backbone代码可能正在使用该选择器获取网站的所有内部链接并更改其行为以进行客户端导航,而外部链接将以http/ 开头https.