1

非表示で「表示」ボタンがあるdivに取り組んでいます。クリックすると、div「anotherdiv」の内容が表示されます。ボタンのテキストが「HIDE」に変わります。以下は私のjqueryコードです:

<button id = "visible" value = "0">SHOW</button>
$("#visible").click(function(){
  $this = $(this);
  var divValue = $this.attr('value');
  if (divValue == 1){
      $this.attr('value','0');
      $('#anotherdiv').slideUp(1000);
      $this.text('HIDE');
  }else{
      $this.attr('value','1');
      $('#anotherdiv').slideDown(1000);
      $this.text('HIDE');    
  }
});

このコードは、Firefox、Chrome、および Safari で正常に動作します。しかし、IEでは最初のステップで動作し、SHOWボタンをクリックすると「anotherdiv」が開き、ボタンのテキストが「HIDE」に変更され、値属性が「1」に変更されます。しかし、「非表示」ボタンをクリックすると、IE は値属性をキャプチャしません。どうすればこの問題を解決できますか。Stackoverflow にも同様の投稿がいくつかありましたが、明確な答えは見つかりませんでした。ありがとうございました。

4

1 に答える 1

0

データ属性は、「data-」プレフィックスを付けて保存する必要があります。カスタム データ属性に関する役立つサイト: http://html5doctor.com/html5-custom-data-attributes/

この更新されたバージョンは、IE8 で動作しました: http://jsfiddle.net/vSMK6/2/

于 2012-04-07T16:46:34.823 に答える