2017-01-25 7 views
0

Der folgende Code ausgeführt wird, unter Verwendung von Server-Push:Text aktualisieren td innerhalb

$('tr[name=' + device + ']').find("td[id='status']").text('STARTED'); 

, wenn ich versuche, die ID des Elements zugreifen es richtige Ergebnis

$('tr[name=' + device + ']').find("td[id='status']").attr('id'); // works for me 

gibt aber wenn ich versuche zu aktualisieren Der Text mit HTML oder Text funktioniert nicht.

HTML:.

<table class="table table-bordered table-condensed cf"> 
     <thead class="cf"> 
     <tr> 
......... 
................ 



     </tr> 
     </thead> 
     <tbody> 


       <tr id="car0" name="5" class="redRow"> 
        <td><a href="#" style="color: white">.....</a></td> 
        <td>.....</td> 
        <td>.....</td> 
        <td>......</td> 
        <td id="5status">......</td> 
        <td>.....</td> 
        <td>.....</td> 
        <td>........</td> 

       </tr> 



       <tr id="car2" name="8" class="redRow"> 
        <td><a href="#" style="color: white"> ....</a></td> 
        <td>......</td> 
        <td>......</td> 
        <td>......</td> 
        <td id="6status">0 km/h</td> 
        <td>........</td> 
        <td>..........</td> 
        <td>..........</td> 

       </tr> 

     </tbody> 
    </table> 

ich sogar $ ('# 6status') versucht, Text ('SCHRITTE'); aber funktioniert nicht.

+1

Das Symptom (und der Code), die beide vor, dass Sie mehr als ein Element mit 'id =" status "' in Ihrem Dokument. ID-Werte ** müssen ** eindeutig sein. Ich vermute also, dass der Aufruf von 'text' ein Element aktualisiert, nur nicht das, auf das Sie schauen. –

+0

Können Sie Tabelle HTML Struktur zur Frage hinzufügen? –

+0

Erstens sollte Ihr Code technisch funktionieren. Überprüfen Sie die Konsole auf Fehler. Warum nicht einfach '$ ('# status') verwenden? Text ('gestartet')'? Ihr Code deutet an, dass es mehrere Elemente mit demselben 'id'-Attribut gibt, was ein Problem an sich ist. –

Antwort

0

Ihr td-Element hat Zahlen vor Teilzeichenfolge status. So verwenden Sie Selektor, um Element enthält Teilzeichenfolge status. Lesen Sie mehr zu diesem Selektor here

Lösung:

$('tr[name=' + device + ']').find("td[id*='status']").text('STARTED'); 

Beispiel:

$(function() { 
 
\t var device = '8'; 
 
\t $('tr[name=' + device + ']').find("td[id*='status']").text('STARTED'); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table table-bordered table-condensed cf"> 
 
     <thead class="cf"> 
 
     <tr> 
 
......... 
 
................ 
 

 

 

 
     </tr> 
 
     </thead> 
 
     <tbody> 
 

 

 
       <tr id="car0" name="5" class="redRow"> 
 
        <td><a href="#" style="color: white">.....</a></td> 
 
        <td>.....</td> 
 
        <td>.....</td> 
 
        <td>......</td> 
 
        <td id="5status">......</td> 
 
        <td>.....</td> 
 
        <td>.....</td> 
 
        <td>........</td> 
 

 
       </tr> 
 

 

 

 
       <tr id="car2" name="8" class="redRow"> 
 
        <td><a href="#" style="color: white"> ....</a></td> 
 
        <td>......</td> 
 
        <td>......</td> 
 
        <td>......</td> 
 
        <td id="6status">0 km/h</td> 
 
        <td>........</td> 
 
        <td>..........</td> 
 
        <td>..........</td> 
 

 
       </tr> 
 

 
     </tbody> 
 
    </table>

Verwandte Themen