jQuery 「removeProp」プロパティを削除する

条件にマッチしたDOM要素について、.prop()で設定したプロパティを削除します。checked,disabled,selectedのような、要素がもともと持っているプロパティは.removeProp()で削除すべきではありません。いったん削除してしまうと、後から.prop()メソッドで追加することもできなくなります。これらのプロパティを扱うときは、.prop()メソッドでfalse値を設定します。.removeProp()で追加した独自のプロパティに対してだけ行うようにします。

書式

.removeProp(プロパティ名);
$('input').removeProp('someprop');

サンプル

mypropプロパティがあれば削除、なければ追加する

<body>
  <style>
    .sticky {
      background: #aaa;
    }
  </style>
    <div class="main">
      <div class="header">
        <h1>サンプル</h1>
      </div>
      <div class="content">
        <form>
          利用規約<input type="checkbox" class="form-input" name="agree" value="yes" checked="checked">同意する<br>
          <input class="button" type="button" name="submit" value="プロパティ値を追加・削除する">
        </form>
        <div class="desc"></div>
      </div>
      <div class="footer">
        <hr>
        <p class="copyright">2024 xxx all rights reserved.</p>
      </div>
    </div>
    <script>
      $(document).ready(function(){
        $('.button').on('click',function(){
          if($('input').prop('myprop')){
            $('input').removeProp('myprop');
          }else{
            $('input').prop('myprop',true);
          }
          alert($('input').prop('myprop'));
        });
      });
    </script>
</body>
実行結果
プロパティがある場合
実行結果
プロパティがない場合