bugfix> javascript > 投稿

jQueryに条件を追加しようとしています。 私のスクリプトは次のとおりです。

$("#mycontent a.half.first"+$id).removeClass("half").prependClass("paid");
$("#mycontent2 a.half.second"+$id).removeClass("half").prependClass("paid");

テーブルにリンクがあります:

<table class='grav-results-table' id='mycontent' width='75%'>
  <tr class="grav-results-tr">
    <td class="grav-results-td">
    <a href="#inbound" class="half first3547" onclick="comtype(3547,'inbound', 704)">$184.20</a>

上記のリンクをターゲットにしようとしています。私はさまざまなバリエーションで以下を試しました:

if ( $( "#mycontent" ).hasClass( "half first" ) ) {
  $("#mycontent a.half.first"+$id).removeClass("half").prependClass("paid");
  $("#mycontent2 a.half.second"+$id).removeClass("half").prependClass("paid");
}

私も試しました:

if ( $( this ).hasClass( "half first" ) )

このコードは、私のAJAXスクリプトの成功領域にあります。

しかし、クラスを対象とする正しい方法を見つけることができないようです。私は何を間違えていますか?

回答 2 件
  • 次のように、テーブルの子でクラスを探す条件を変更する必要があります。

    if ($("#mycontent").find("a.half").length > 0) {
      console.log('children found');
    }
    
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <table class='grav-results-table' id='mycontent' width='75%'>
      <tr class="grav-results-tr">
        <td class="grav-results-td">
          <a href="#inbound" class="half first3547"></a>
        </td>
      </tr>
    </table>
    
    

  • Martinに追加するには、これを試してください。

    if ( $( "table#mycontent" ).children().hasClass( "half first" ) ) {
     alert("I have class in it.");
    }
    
    

あなたの答え