如何用其他元素替换div中的文本
<strong class="product-detail-final-price">
<input type="hidden" name="priceId" value="2353">
<meta itemprop="price" content="3339">
<meta itemprop="priceCurrency" content="CZK">
<link itemprop="itemCondition" href="https://schema.org/NewCondition">
<meta itemprop="warranty" content="20 let">
3 339 Kč
<span class="pr-list-unit">
/ balení
</span>
</strong>
如何修改文字3 339 Kč
?文字是动态的。 1}}不允许插入。
答案 0 :(得分:1)
只要您要检索的值始终是容器中的第一个子textNode,就可以使用filter().get(0)
,如下所示:
var newPrice = '1 234 Kč';
$('.product-detail-final-price').contents().filter(function() {
return this.nodeType == 3 && this.textContent.trim();
}).get(0).textContent = newPrice;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<strong class="product-detail-final-price">
<input type="hidden" name="priceId" value="2353">
<meta itemprop="price" content="3339">
<meta itemprop="priceCurrency" content="CZK">
<link itemprop="itemCondition" href="https://schema.org/NewCondition">
<meta itemprop="warranty" content="20 let">
3 339 Kč
<span class="pr-list-unit">
/ balení
</span>
</strong>
&#13;
答案 1 :(得分:0)
使用meta
标记获取文本节点(借助nextSibling
属性)并按textContent
属性更新内容。 Attribute equals selector可用于选择元标记。
$('meta[itemprop="warranty"]')[0].nextSibling.textContent = 'New content';
// or
document.querySelector('meta[itemprop="warranty"]').nextSibling.textContent
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<strong class="product-detail-final-price">
<input type="hidden" name="priceId" value="2353">
<meta itemprop="price" content="3339">
<meta itemprop="priceCurrency" content="CZK">
<link itemprop="itemCondition" href="https://schema.org/NewCondition">
<meta itemprop="warranty" content="20 let">
**3 339 Kč**
<span class="pr-list-unit">
/ balení
</span>
</strong>
&#13;