如何包装包含动态加载值的字符串



我看不到逻辑中的错误,也许您会帮助我

我目前有这个

$(document).ready(function() { 
  var str = $('#formElements').text();
  str = str.slice(104,112);
  alert(str);
  $('#formElements:contains('+ str +')').load(function(){
			$(this).html().replace(str, '<div class="price-cal-check">'+str+' <span id="priceout"></span>zł</div>');
  });
});
form {
  display: block;
  float: left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<form  method="post" name="form" action="javascript:void(0);">
<div id="formElements" style="float:right; min-height: 280px; margin-left: 20px; width: 575px;">
 <table>
  <tbody>
   <tr>
    <td>Quantity:</td>
    <td>Paper type:</td>
   </tr>
   <tr>
    <td><input name="amount" value="1" type="text"></td>
    <td> <select name="paper">
          <option value="1">250 gsm</option>
         </select>
    </td>
   </tr>
  </tbody>
 </table>
 
 Price: $
 
 <br>
 <input class="submitToCart" name="addCart" value="Add to cart" role="button" aria-disabled="false" style="margin-top: 4px;" type="submit">
</div>
</form>

用jQuery的页面加载后,<span id="priceout">27,00</span>的值是动态的。

因此,他输出的str看起来像这个 Price: $

我要做的就是将整个字符串Price: <span id="priceout">27,00</span>$放入DIV。但是我的代码不起作用

我在做错什么?

如果它取决于我,我宁愿将Price:包装在DIV中,给它一个ID,然后以:

之类的值附加。
<div id="price"> Price: </div>

和您的功能

$('#price').append('<span id="priceout">27,00</span>$');

希望它有帮助。

好吧,我找到了一个解决方案,现在JS看起来像

$('#formElements').each(function() {
            var form = $(this);
            var str = form.html();
            var str1 = str.slice(225,260);
            //alert(str);
            form.html(str.replace(str1,'<div class="price-cal-check">'+ str1 +'</div>'));
        });

它起作用