CSS条件选择器this或that

时间:2020-01-27 09:45:12

标签: css css-selectors

目前我有这样的东西

$("#foo").click(function () {callMe();});
$("#bar").click(function () {callMe();});

foo和bar做同样的事情。我是否可以定义一个选择器,说明是否调用了foo id或bar id然后触发click事件?我试过了,但是没用

 $("#foo","#bar").click(function () {callMe();});

3 个答案:

答案 0 :(得分:0)

您可以给他们一个类,然后检查目标元素的ID:

$('').on('click', function(e) {
  if (e.currentTarget.id === 'foo') {
    console.log('foo clicked');
  } else {
    console.log('bar clicked');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="click" id="foo">foo</div>
<div class="click" id="bar">bar</div>

或者如果我对这个问题有误解,而您只想使用其ID选择两个元素,则可以使用

$('#foo,#bar').on('click', function() {});

请注意逗号在引号中,而不是单独的引号

答案 1 :(得分:0)

语法和代码看起来不错,我认为您没有正确导入jQuery。

我尝试了同样的方法,并且效果很好。看看下面的代码。

function callMe () {
alert("callMe function called!");
} 

$("#foo, #bar").click(function () {callMe();});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="foo"> foo </button> 
<button id="bar"> bar </button>

答案 2 :(得分:0)

document.getElementById("demo").addEventListener("click", callMe);

function callMe(e) {
  let id = e.target.id
  console.log(id);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="demo">
  <button id="foo">Foo</button>
  <br> <br>
  <button id="bar">bar</button>
</div>