Verwenden Sie jquery, um den Wert des div-Tags festzulegen

79

Ich habe dieses HTML-Div-Tag definiert:

<div style="height:100px; width:100px" class="total-title">
    first text
</div>

Ich habe JQuery-Code, um seinen Wert zu ändern:

 $('div.total-title').html('test');

Dies ändert jedoch nichts am Inhalt des Div.

Luft
quelle
2
Wo genau führen Sie die Anweisung aus: $ ('div.total-title'). Html ('test'); ??
Niek H.
1
Es ist absolut nichts falsch mit dem Code, wenn Sie den js-Code aufrufen, nachdem das DOM bereit ist. Farzad antwortete richtig.
simplyharsh

Antworten:

154

Wenn Ihr Wert ein reiner Text ist (wie 'test'), können Sie auch die text () -Methode verwenden. so was:

$('div.total-title').text('test');

In Bezug auf das Problem, das Sie teilen, denke ich, dass Sie möglicherweise den JavaScript-Code aufrufen, bevor der HTML-Code für den DIV an den Browser gesendet wird. Stellen Sie sicher, dass Sie die jQuery-Zeile in einem <script> -Tag nach <div> oder in einer Anweisung wie dieser aufrufen:

$(document).ready(
    function() {
        $('div.total-title').text('test');
    }
);

Auf diese Weise wird das Skript ausgeführt, nachdem der HTML-Code des div vom Browser analysiert wurde.

Farzad
quelle
3
Wenn ich es wie div.total-value formuliere, funktioniert es nicht. Aber nachdem es wie # total-value gemacht wurde, funktioniert es
Nipuna
Warum müssen Sie es um eine anonyme Funktion rappen? wird es ohne es funktionieren?
Nahser Bakht
Da die Seite noch nicht eingerichtet wurde, wenn das Laden noch nicht abgeschlossen ist, ist das div möglicherweise noch nicht vorhanden, wenn Sie den Rohcode einfach in die oberste Ebene von beispielsweise <head> einfügen.
DragonLord
Um die Auswertung zu verzögern, ist entweder die Bereitschafts- oder die anonyme Funktion erforderlich. In diesem redundanten Fall glaube ich, dass der Code übertrieben ist, aber er ermutigt die Software-Betreuer zum Ausschneiden und Einfügen, später Fehler zu vermeiden.
DragonLord
Ja, ich denke es sollte sein$('#div.total-title').text('test');
Hynsey
9

Verwenden Sie zum Einfügen von Text .text('text')

Wenn Sie verwenden möchten .html(SomeValue), sollte SomeValue HTML-Tags haben, die sich in einem Div befinden können. Es muss auch funktionieren.

Überprüfen Sie einfach Ihren Skriptspeicherort, wie Farzad sagte.

Referenz: .html und Text

MaLKaV_eS
quelle
5

Probieren Sie diese Funktion aus $('div.total-title').text('test');

Alex H.
quelle
Text ist jetzt veraltet, für Version 1.4 oder zurück.
Rishabh
4

Sie haben auf die jQuery JS-Datei verwiesen, nicht wahr? Es gibt keinen Grund, warum Farzads Antwort nicht funktionieren sollte.

djdd87
quelle
0

Bei Verwendung der .html()Methode htmlStringmuss a der Parameter sein. ( Quelle ) .text()Fügen Sie Ihre Zeichenfolge in ein HTML-Tag ein und es sollte funktionieren oder verwendet werden, wie von farzad vorgeschlagen.

Beispiel:

<div class="demo-container">
    <div class="demo-box">Demonstration Box</div>
</div>

<script type="text/javascript">
$("div.demo-container").html( "<p>All new content. <em>You bet!</em></p>" );
</script>
Jo Smo
quelle
0

Verwenden Sie wie folgt:

<div id="getSessionStorage"></div>

Um dies anzuhängen, verwenden Sie den folgenden Code als Referenz:

$(document).ready(function () {
        var storageVal = sessionStorage.getItem("UserName");
        alert(storageVal);
        $("#getSessionStorage").append(storageVal);
     });

Dies wird wie folgt in HTML angezeigt (vorausgesetzt, storageVal = "Rishabh")

<div id="getSessionStorage">Rishabh</div>
Rishabh
quelle