替换div中的文本

时间:2016-07-30 18:35:23

标签: jquery replace

如何用其他元素替换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č?文字是动态的。

2 个答案:

答案 0 :(得分:1)

只要您要检索的值始终是容器中的第一个子textNode,就可以使用filter().get(0),如下所示:

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:0)

使用meta标记获取文本节点(借助nextSibling属性)并按textContent属性更新内容。 Attribute equals selector可用于选择元标记。

&#13;
&#13;
$('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;
&#13;
&#13;