首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery从函数内部获取匹配的选择器文本

Jquery从函数内部获取匹配的选择器文本
EN

Stack Overflow用户
提问于 2010-08-27 16:16:25
回答 3查看 1.2K关注 0票数 1

有没有办法从函数中获取调用某个函数(如果存在)的选择器的文本?

例如

代码语言:javascript
运行
复制
$('#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/),但当我进入函数内部时,就能知道哪个是匹配的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-27 16:25:16

你可以通过event object获取这些信息。

代码语言:javascript
运行
复制
$('#foo, .bar').click(function(event) {

   if(event.target.id === 'foo'){
      alert('foo');
   }
   else if(event.target.className === 'bar'){
      alert('bar');
   }

});

示例:http://www.jsfiddle.net/8CACU/

参考文献:http://api.jquery.com/event.target/

票数 2
EN

Stack Overflow用户

发布于 2010-08-27 16:28:02

代码语言:javascript
运行
复制
$('#foo, .bar').click(GOTEMM(event) {

   if(event.target.id === 'foo'){
      alert('foo');
   }
   elseif(event.target.className === 'bar'){
      alert('bar');
   }

});
票数 0
EN

Stack Overflow用户

发布于 2010-08-27 16:37:49

您可以在回调中使用$(this)来获取实际的元素并访问选择器中使用的元素的属性。

代码语言:javascript
运行
复制
$('#foo, .bar').click(function() { 
    if($(this).attr('id') == 'foo')  {
        alert('foo handled');
    } else if($(this).hasClass('bar')) {
        alert('bar handled');
    }
});

jsfiddle示例:http://jsfiddle.net/us8r9/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3582394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档