jQuery IF无法在iPhone上正常工作

时间:2018-09-05 12:53:18

标签: javascript jquery ios

我有同名的函数,并且每个函数都会在不同的页面上触发。 它可以在android和pc上正常运行,但不能在iphone上运行。

if($('main').is('.a')){
  function submit(){
    alert('a');
  }
}
if($('main').is('.b')){
  function submit(){
    alert('b');
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<main class="a">
  <a href="#" onclick="submit()">anchor</a>
</main>

在iPhone上,它会提示“ b” !!

2 个答案:

答案 0 :(得分:2)

您应该编写单个函数并在其中写入if条件。使用hasClass来确定元素是否具有特定的类

function submit(){
  if($('main').hasClass('a')){
    alert('a');
  } else if($('main').hasClass('b')){
    alert('b');
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<main class="a">
  <a href="#" onclick="submit()">anchor</a>
</main>

答案 1 :(得分:0)

我认为您只需要在函数中包装所有代码。

<main class="a">
  <a href="#" onclick="submit()">anchor</a>
</main>
<script>

function submit(){
 var tag=$('main');
 if(tag.hasClass('a'))
  { 
    alert('a');
  }
  if(tag.hasClass('b'))
  { 
    alert('b');
  }
 }
</script>