2016-07-30 8 views
0

WieErsetzen von Text in einem div

mit anderen Elementen Text in einem div ersetzen
<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> 

Wie Bearbeiten von Text 3 339 Kč? Der Text ist dynamisch. Einfügen <span> ist nicht erlaubt.

+0

Willkommen bei Stack Overflow! Lerne [fragen] und [mcve]. Es ist nur 5 Minuten gelesen und spart Ihnen Stunden. Wir wollen helfen, aber wir brauchen einen Zusammenhang. Bitte bearbeiten Sie Ihre Frage, um sie zu reflektieren. Was hast du noch versucht? Es klingt auch ein bisschen wie eine Hausaufgabe. Wir schreiben hier keinen Code für SO. –

Antwort

0

Holen Sie sich den Text-Knoten mit meta Tag (mit Hilfe von nextSibling Eigenschaft) und aktualisieren Inhalt von textContent Eigenschaft. Attribute equals selector kann für die Auswahl des Meta-Tags verwendet werden.

$('meta[itemprop="warranty"]')[0].nextSibling.textContent = 'New content'; 
 

 
// or 
 

 
document.querySelector('meta[itemprop="warranty"]').nextSibling.textContent
<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>

1

Solange der Wert, den Sie abrufen möchten, ist immer das erste Kind textNode innerhalb des Behälters, dann können Sie filter().get(0) wie folgt verwenden:

var newPrice = '1 234 Kč'; 
 
$('.product-detail-final-price').contents().filter(function() { 
 
    return this.nodeType == 3 && this.textContent.trim(); 
 
}).get(0).textContent = newPrice;
<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>