0

有人能告诉我为什么对我的函数 hideShow 的调用不起作用吗?

<a id='plusMinus0' href='#' title='Afficher la liste des messages d erreurs' onclick='hideShow(0);'>

function hideShow(number){
     alert("i am here");
     $('#errMsgGroup'+number).toggle('slow', function() {
         if($('#plusMinus'+number).children('img').attr('src').indexOf('images/NORIA_minus.JPG') >= 0){
                $('#plusMinus'+number).children('img').attr('src', 'images/NORIA_plus.JPG');
                $('#plusMinus'+number).children('img').attr('title', 'hide errors');        
            }
            else{
                $('#plusMinus'+number).children('img').attr('src', 'images/NORIA_minus.JPG');
                $('#plusMinus'+number).children('img').attr('title', 'show errors');
            }
        });
     }
4

5 回答 5

1

把你的功能放在<script></script>标签内

喜欢

<script>


function hideShow(number){
     alert("i am here");
     $('#errMsgGroup'+number).toggle('slow', function() {
         if($('#plusMinus'+number).children('img').attr('src').indexOf('images/NORIA_minus.JPG') >= 0){
                $('#plusMinus'+number).children('img').attr('src', 'images/NORIA_plus.JPG');
                $('#plusMinus'+number).children('img').attr('title', 'hide errors');        
            }
            else{
                $('#plusMinus'+number).children('img').attr('src', 'images/NORIA_minus.JPG');
                $('#plusMinus'+number).children('img').attr('title', 'show errors');
            }
        });
     }

</script>
于 2013-07-02T10:20:12.243 回答
0

尝试这个:

<a id='plusMinus0' href='#' onclick="hideShow(0)">Test</a>

<script>
  function hideShow(number) {
     alert(number);
  }
</script>

JSFiddle

编辑:

我认为用 JQuery 处理事件更优雅:

用 jQuery

<a id='plusMinus0' href='#'>Test</a>

<script>
    $(function() {
       $("#plusMinus0").click(function() {
           alert("pass parameter from an attribute " + $(this).attr("id"))
       });
    });
</script>

在href中使用#,单击您的锚点后导航到页面顶部,以避免这种情况:

<a id='plusMinus0' href='javascript:;'>Test</a>

或保留 href 属性: 不带 href

于 2013-07-02T10:25:48.250 回答
0

我想你也需要关闭你的 A 标签<a id='plusMinus0' href='#' title='Afficher la liste des messages d erreurs' onclick='hideShow(0);'>hide / show</a>

于 2013-07-02T10:20:40.227 回答
0

除了@sonusindhu 和@putvande 的答案。您可能想要return false在您的 javascript 末尾添加一个。

function hideShow(number){
  alert("i am here");
  $('#errMsgGroup'+number).toggle('slow', function() {
    if($('#plusMinus'+number).children('img').attr('src').indexOf('images/NORIA_minus.JPG') >= 0){
    $('#plusMinus'+number).children('img').attr('src', 'images/NORIA_plus.JPG');
       $('#plusMinus'+number).children('img').attr('title', 'hide errors');        
    }
    else{
      $('#plusMinus'+number).children('img').attr('src', 'images/NORIA_minus.JPG');
      $('#plusMinus'+number).children('img').attr('title', 'show errors');
    }
  });
  return false;
}
于 2013-07-02T10:23:43.443 回答
0

尝试这个

<html>
<head>
    <script type="text/javascript">
        function hideShow(number) {
            alert("i am here");
            $('#errMsgGroup' + number).toggle('slow', function () {
                if ($('#plusMinus' + number).children('img').attr('src').indexOf('images/NORIA_minus.JPG') >= 0) {
                    $('#plusMinus' + number).children('img').attr('src', 'images/NORIA_plus.JPG');
                    $('#plusMinus' + number).children('img').attr('title', 'hide errors');
                }
                else {
                    $('#plusMinus' + number).children('img').attr('src', 'images/NORIA_minus.JPG');
                    $('#plusMinus' + number).children('img').attr('title', 'show errors');
                }
            });
        }
    </script>
</head>
<body>
    <a id='plusMinus0' href='#' title='Afficher la liste des messages d erreurs' onclick='hideShow(0);'>Check</a>
</body>


</html>
于 2013-07-02T10:36:08.817 回答