2017-07-05 21 views
-1

Ich habe dieses Beispiel: -Wie füge ich einen Bereich in eine Zeichenfolge ein?

link

CODE HTML:

<p> 
    width (10mm) 
</p> 

CODE JS:

jQuery(document).ready(function(){ 
    //First bracket detection 
}); 

Die Struktur I ist folgendes erhalten möchten (nachdem das Dokument fertig ist):

<p> 
    width <span>(10mm)</span> 
</p> 

Ich dachte, ich könnte die erste Klammer in der Zeichenfolge erkennen und dann einen Span hinzufügen.

Können Sie mir bitte ein einfaches Beispiel geben, wie kann ich das tun?

Vielen Dank im Voraus! diese

+2

Ich würde empfehlen, jQuery eigenen [Tutorial Lernzentrum] (https://learn.jquery.com/) verwendet wird. – evolutionxbox

+0

Auch eine Regex-Referenz, um den Teil in Klammern zu ziehen: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions –

+0

Denken Sie zuerst an die Logik. Zweites Nachschlagen, wie Logik implementiert wird. Drittens, Logik implementieren. Reguläre Ausdrücke können ein guter Anfang sein ... – evolutionxbox

Antwort

2

Dies wird in beiden Fällen arbeiten: -

Räume/ohne Leerzeichen (Beispiel width (10mm) oder width(10mm)): -

$(document).ready(function(){ 
 
    var string = $.trim($('p').text()); 
 
    string = string.replace(/\(([^)]+)\)/, "<span>$1</span>"); 
 
    $('p').html(string); 
 
});
span{ 
 
font-size:30px; 
 
color:green; 
 
background:yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p> 
 
    width (10mm) 
 
</p>

+1

Statt der erwarteten 'Breite (10mm) 'Sie erhalten: ' Breite (10mm)' –

+1

@YosvelQuintero gleichgerichtet.Danke zum Hinweis –

+1

Gut zu helfen ... –

1

Verwendung:

jQuery(document).ready(function() { 
    var $p = $("p"); 
    var text = $p.text().trim(); 
    text = text.split(" "); 
    text = text[0] + "<span>" + text[1] + "</span>"; 
    $p.text(text); 
}); 
0

var $p = $('p'), 
 
    text = $p.text().trim(), 
 
    replaceWith = text.replace(/\(.+\)/, '<span>$&</span>'); 
 
     
 
$p.html(replaceWith)
span {color: red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p>width (10mm)</p>

Verwandte Themen