Jquery 从函数内部获取匹配的选择器文本
有没有办法从函数内获取调用某个函数(如果存在)的选择器的文本?
例如
$('#foo, .bar').click(function() {
// Here I want to figure out if there was a match on #foo, or .bar
});
,基本上我想要一个像上面那样的复合选择器(http://api.jquery. com/multiple-selector/),但当我进入该函数时能够知道哪一个是匹配的。
Is there any way to get the text of the selector that invoked some function (if it exists) from within the function?
For example
$('#foo, .bar').click(function() {
// Here I want to figure out if there was a match on #foo, or .bar
});
Basically I want to have a compounded selector like the one above (http://api.jquery.com/multiple-selector/) but be able to know which one was matched when I get inside the function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
事件对象
获取该信息。示例:http://www.jsfiddle.net/8CACU/
参考:http://api.jquery.com/event.target/
You can get that info with the
event object
.Example: http://www.jsfiddle.net/8CACU/
Ref.: http://api.jquery.com/event.target/
您可以在回调中使用 $(this) 来获取实际元素并访问选择器中使用的元素的属性。
jsfiddle 示例: http://jsfiddle.net/us8r9/
You can use $(this) inside the callback to get the actual element and access the attribute of the element that is used in the selector.
jsfiddle sample: http://jsfiddle.net/us8r9/