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.


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.


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


5

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


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.


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>

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>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.