2016-07-10 3 views
0

Wie Text von div und setzen in Hintergrundfarbe des Elements erhalten jquery

$(".child").css("background-color", $(".child div").val()); 

<div class="flexbox" id="flexbox"> 
    <div class="child"> 
     <div>#69d2e7</div> 
    </div> 
</div> 

verwende ich versuchen, den Wert zu erhalten und es background-color dieses Elements zu machen, aber ich don‘ t wissen, was los ist

+2

Verwenden '.text()' 'statt .val()' – Mohammad

+1

Sie müssen auch $ (function() {....}) umwickeln; – mplungjan

Antwort

1

Die Methode .val() wird hauptsächlich verwendet, um die Werte von Formularelementen wie Eingabe, Auswahl und Textarea.

Sie müssen .text() verwenden, um den Text des div-Tags zu erhalten.

$(".child").css("background-color", $(".child div").text()); 

Wenn Sie mehr .child in Ihrem Dokument haben müssen Sie unten Code verwenden

$(".child").each(function(){ 
 
    $(this).css("background-color", $("div", this).text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="flexbox" id="flexbox"> 
 
    <div class="child"> 
 
     <div>#69d2e7</div> 
 
    </div> 
 
    <div class="child"> 
 
     <div>red</div> 
 
    </div> 
 
    <div class="child"> 
 
     <div>green</div> 
 
    </div> 
 
</div>

+0

Aber wenn ich mehr als ein '.child' Elemente hinzufügen, funktioniert es nicht –

+0

@ShubhSeth Überprüfen Sie das Update der Antwort. – Mohammad

+0

und wrap in einem bereiten – mplungjan

0

Vergewissern Sie sich, dass Sie die Skriptdatei korrekt verweisen und dass es wirklich in die Wurzel Ihres Projekts. Wenn nicht, verwenden Sie relative Pfade, um den Speicherort anzugeben. Etwas wie:

<script src="<%= Url.Content("~/scripts/jquery-1.3.2js") %>" type="text/javascript"></script> 

Dann scheint es nicht wie Sie tatsächlich das Dokument bereit Funktion aufrufen, die jquery Laufen verhindert, bevor das Dokument geladen wird.

$(document).ready(function(){ // jQuery methods go here... }); 
Verwandte Themen