私は、Jquery を初めて使用する経験豊富な開発者です。コードがチェーンされている場合は機能するが、別の場合は機能しないという問題が発生しており、Jquery の動作を理解したいと考えています。
中には<div>
ボタンが4つ付いています。4 つのボタンの 1 つが押されると、4 つのボタンすべてが消え、それを置き換える新しいボタンが必要になります (新しいボタンは、押されたボタンと同じ値を持つボタンですが、外観を変えるために CSS が異なります)。
ボタンが押されると、<div>
このようにアウトをクリアします
$(this).parent().empty();
次に、挿入する新しいボタンを作成します
var splitstr = event.target.id.split('-');
var pick = splitstr[0];
var position_id = splitstr[1];
var singlebutton = '<button class="pick' + pick + ' pickbutton-box btn btn-primary btn-large madepick" name="pick" ' + 'id="made'+ position_id + '" ' + 'value="' + pick + '">' + pick + '</button>';
そして、それを親に挿入しようとしました:
$(this).parent().append(singlebutton);
これを行うと、の 4 つのボタンすべて<div>
が削除されますが、新しいボタンは追加されません。ただし、空にして追加する前に文字列を作成すると
var singlebutton = " ---- HTML CODE for button ---- "
$(this).parent().empty().append(singlebutton);
すべてが期待どおりに機能します。これは私には意味がないようです。誰かが何が起こっているのか説明してください。