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

@sonusindhu と @putvande の回答に加えて。おそらくreturn false、JavaScript の最後に a が必要です。

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 に答える
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

これを試して:

<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 に答える