繁体   English   中英

在新的div中克隆或追加变量?

[英]clone or append a variable in a new div?

我有这个HTML <h1 class="count" role="status">Search results 546</h1>

我正在尝试仅克隆该div的数字'546'并将其显示在另一个div'h2.count'内

我设法通过以下方式仅调用警报中的数值:

var price = $('h1.count').text();
var parsedPrice = parseFloat(price.replace(/([^0-9\.])/g, ''));
     alert(parsedPrice.toFixed(0));

否则,当我尝试使其显示在div h2.count中而不是警报中时,它将不起作用。

我尝试以下方法:

var price = $('h1.count').text();
var parsedPrice = parseFloat(price.replace(/([^0-9\.])/g, ''));
$parsedPrice.appendTo('h2.onlycount');

有想到我做错了什么吗?

非常感谢你们!

我猜您的两个html元素是唯一的,因此,使用id代替类(和本机js),请尝试以下操作:

html:

<h1 id="count">Search results 541</h1>
<h2 id="onlycount"></h2>

js:

var price = document.getElementById('count').innerText;
var parsedPrice = parseFloat(price.replace(/([^0-9\.])/g, ''));
document.getElementById('onlycount').innerText = parsedPrice;

https://jsfiddle.net/f3rj2bnv/

而且,如果您想继续使用jQuery(如果希望或必须在HTML元素中使用类而不是ID的话,请将“#”替换为“。”):

var price = $('h1#count').text();
var parsedPrice = parseFloat(price.replace(/([^0-9\.])/g, ''));
$('h2#onlycount').text(parsedPrice)

.appendTo()使用的内容应为

“选择器表达式或动态创建的标记”

由于在您的示例中都不是正确的,请尝试以下操作:

 var price = $('h1.count').text(); var parsedPrice = parseFloat(price.replace(/([^0-9\\.])/g, '')); $('h2.onlycount').text(parsedPrice); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h1 class="count" role="status">Search results 546</h1> <h2 class="onlycount" role="status"></h1> 

可以使用text(function)

 $('h2.onlycount').text(function(_, existingText){ return existingText + $('h1.count').text().replace(/([^0-9\\.])/g, ''); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h1 class="count" role="status">Search results 546</h1> <h2 class="onlycount"></h2> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM