2017-11-20 24 views
-3

私は知らないが、以下のコードが動作していない。 pの代わりにtdを追加するとうまくいきます。jQuery clone()関数が動作しない

$(document).ready(function() { 
 
    $("button").click(function() { 
 
    $("th:contains('2G Band') ~ p").clone().appendTo("#2g"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button>Clone element</button> 
 

 
<tr class="RowBG2"> 
 
    <th rowspan="3" scope="rowgroup" style="text-align: left;vertical-align: top;" class="hdngArial specs-mainHeading bottom-border-section">Frequency</th> 
 
    <th scope="row" align="left" class="hdngArial specs-subHeading RowBG1 bottom-border">2G Band</th> 
 
    <p class="fasla RowBG1 specs-value bottom-border"><b>SIM1:</b> GSM 850/900/1800/1900<br><b>SIM2:</b> GSM 850/900/1800/1900 &nbsp;</p> 
 
</tr> 
 

 
<tr class="RowBG2" style="background-color: #ebf1fa; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: 16px;"> 
 
    <td class="hdngArial" height="25" style="font-size: 10pt; font-weight: bold;">&nbsp;2G &nbsp;Band&nbsp; 
 
    </td> 
 
    <td id="2g" colspan="2"></td> 
 
</tr>

+1

あなたのHTMLマークアップは、 'p'要素が' tr'要素の直系の子孫にすることはできません。ところで、 'tr'要素はそれはあなたがここに欲しいものを想像するのは非常に難しいtable' –

+0

'内側にネストされている必要があり、無効です。あなたは多くの情報を与えていません。これはテーブルの意味ですか? –

+0

だから、なぜ 'td'を追加しないのですか? –

答えて

2

pがテーブル構造(trのすなわちない直接desendentの一部であることが想定されていないので、それはptdないで動作する理由がある。

2つの選択肢があります。

  • ptdです。
  • ptdに置き換えます。
関連する問題