私の問題はappend要素の後に追加されます。 最初にいくつかのスパン(2 divで)とその作業を追加しますが、別のdivを追加した後、私の古いappendを新しいappend divに追加しません! (あなたが私の言うことを理解してくれることを願ってください:Pと私の悪いengのために申し訳ありません) 私のコードをチェックしてください。jqueryがappend to appendに追加されない
if ($('.returnRequests').length) {
var count = 1;
function emptyRow() {
this.obj = $('<span class="returnRequests"></span>');
this.obj.append('<input placeholder="input '+ (count++) +'" class="form-control-sm form-text col-md-3 p-0 pr-2 mr-2 d-inline-block" id="edit-submitted-codepostal" name="submitted[CodePostal]" value="" size="60" maxlength="5" autocomplete="off" type="text">\n');
}
function refresh(count) {
var wrapper = $('#productRowWrappers');
while (wrapper.children().length > count)
wrapper.children().last().remove();
while (wrapper.children().length < count)
wrapper.append((new emptyRow()).obj);
}
$('#quantityReturn').change(function() {
refresh(parseInt($(this).val()));
});
}
function addhotel() {
$('.add-hotel').append(`
<div class="hotels-dashboard hotel-add-1 container mb-3">
<p class="mt-2">
<span class="title-main"><i class="fa fa-hotel"></i> Hotels </span>
<span onclick="addhotel()" id="add-hotel" class="float-left bg-add-hotel p-1"><i class="fa fa-plus"></i> AddMore </span>
</p>
<hr>
<div class="row container ">
<div class="returnRequests col-md-12 p-0" id="productRowWrappers"></div>
</div>
<!-- EXTRA DIV HERE, BREAKS YOUR HTML CODE -->
`
)
}
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<select class="custom-select col-md-4 mt-2 mb-2 mb-sm-0" id="quantityReturn" >
<option value="0" selected> select number </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<div class="add-hotel">
<div class="hotels-dashboard hotel-add-1 container mb-3">
<p class="mt-2">
<span class="title-main"><i class="fa fa-hotel"></i> Hotels </span>
<span onclick="addhotel()" id="add-hotel" class="float-left bg-add-hotel p-1"><i class="fa fa-plus"></i> AddMore </span>
</p>
<hr>
<div class="row container ">
<div class="returnRequests col-md-12 p-0" id="productRowWrappers">
</div>
</div>
</div>
</div>
複数行の文字列は、ご使用の環境で使用できない場合があります。彼らはes6の機能です。 'div.hotels-dashboard'をすべて1行に入れてみてください。 – admcfajn
また、jsの文字列にhtmlを使用すると、一重引用符で囲まれます(二重引用符を '\'エスケープする必要がありません)。長い文字列で間違ってしまうことがたくさんあります。 – admcfajn
プラス: ''\ n' '(単純引用符)を使用した場合、これは戻り値ではありません。これは'バックスラッシュ+ n'です。リターン文字を使用するには二重引用符( '" \ n "')で囲む必要があります。ところで、これはHTMLコードでは不要です。 –