2017-09-07 15 views
0

私はこのhtmlを持っています。私はいくつかの条件に基づいて.append特定のテキストする必要がありますhtmlがjQueryで動的に生成されたときのテキストの追加

3).appendtd.nameと同じ行にのみ行われ、同一行の内部

1)td.name atext which triggers append

2)td.nametd.quantity含まれていますtd.quantityは。

複数の行があります。行にはクラスがなく、コードが動的に生成されます。各行は表の異なる位置に終わることがあります。私はこの

if (jQuery('tbody tr td.name a:contains("text which triggers append")').length > 0) { 
 
    jQuery('tbody tr td.quantity').append('<span>text to append</span>'); 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 
<tbody> 
 
    <tr> 
 
     <td class="name"><a>text which triggers append</a></td> 
 
     <td class="quantity">quantity</td> 
 
    </tr> 
 
    <tr> 
 
     <td class="name"><a>other text</a></td> 
 
     <td class="quantity">other quantity</td> 
 
    </tr> 
 
</tbody>

答えて

1

はあなたが解決策で行くここ

jQuery('tbody tr td.name a:contains("text which triggers append")').closest('tr').find('td.quantity').append('<span>text to append</span>'); 

jQuery('tbody tr td.name a:contains("text which triggers append")').closest('tr').find('td.quantity').append('<span>text to append</span>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 
<table border="1"> 
 
<tbody> 
 
    <tr> 
 
     <td class="name"><a>text which triggers append</a></td> 
 
     <td class="quantity">quantity</td> 
 
    </tr> 
 
    <tr> 
 
     <td class="name"><a>other text</a></td> 
 
     <td class="quantity">other quantity</td> 
 
    </tr> 
 
</tbody> 
 
<table>

+0

私はこれを試してみます – benua

+0

は素晴らしい作品です!今私はそれを得る、感謝再び – benua

0

を試してみて、ターゲットにはどうすればよい

あなたは td.name & td.quantityを述べてきたように

$('table tbody tr').each(function(){ 
 
    $(this).find('td.name').each(function(){ 
 
    if($(this).find('a:contains("text which triggers append")').length > 0){ 
 
     $(this).siblings('td.quantity').append('<span>text to append</span>'); 
 
    } 
 
    }); 
 
});
td { 
 
    border: 1px solid #000; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
    <tr> 
 
     <td class="name"><a>text which triggers append</a></td> 
 
     <td class="quantity">quantity</td> 
 
    </tr> 
 
    <tr> 
 
     <td class="name"><a>other text</a></td> 
 
     <td class="quantity">other quantity</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

は、同じ行にあるので、私はtd.quantityを取得するためにjQuerysiblingsを使用しました。

希望すると、これが役立ちます。

+0

助けを感謝 – benua

関連する問題