2012-04-09 20 views
0

Ich habe einige Code dynamisch von Sigma erstellt, die wie folgt aussieht:Hinzufügen einer Klasse über jQuery

<div id="myGrid1_headDiv" class="gt-head-div"> 
<div class="gt-head-wrap"> 
<table id="myGrid1_headTable" class="gt-head-table"> 
<tbody> 
<tr class="gt-hd-row"> 
<td class="gt-col-mygrid1-uid"> 
<div class="gt-inner gt-inner-left" unselectable="on" title="#"> 
<span>#</span> 
<div class="gt-hd-tool"><span class="gt-hd-icon"></span> 
<span class="gt-hd-button"></span> 
<span class="gt-hd-split" style="cursor: col-resize; "></span></div></div></td> 
<td class="gt-col-mygrid1-p_deldate"> 
<div class="gt-inner gt-inner-left" unselectable="on" title="Planned Delivery Date"> 
<span>Planned Delivery Date</span> 
<div class="gt-hd-tool"><span class="gt-hd-icon"></span> 
<span class="gt-hd-button"></span> 
<span class="gt-hd-split" style="cursor: col-resize; "></span></div></div></td> 

Ich versuche, die un-klassifizierte Spannweiten (# und Geplanter Liefertermin), um zum Ziel style sie, mit:

$("div.gt-inner:first-child span") 
    { 
      $(this).addClass("celltitle"); 
     }; 

aber es hat keine Wirkung. Wie Sie sehen können, gibt es andere Bereiche, die ich nicht berühren möchte. Was mache ich falsch?

===== abschließende Antwort für andere Sigma Grid mit:

Danke für die Hinweise auf @minitech, ist die Antwort auf Sigma Grid gridOption hinzufügen mit:

onComplete:function(grid){ 
$('div.gt-inner > span').addClass('celltitle'); //add cell title after grid load 
} 
+1

Und welcher Fehler gibt Ihnen dieser JS-Code (weil es keine gültige Syntax ist)? – Jasper

+0

PS: die jquery ist im $ (Dokument) .ready (function(). – Onyx

+0

@Jasper: überhaupt kein Fehler! – Onyx

Antwort

1

Sie‘ habe dort einen beliebigen Codeblock eingefügt. Sie müssen die .each Funktion von jQuery verwenden und Ihre Funktion übergeben; jQuery ist eine Bibliothek, kein Sprachkonstrukt.

$("div.gt-inner:first-child span").each(function() { 
    $(this).addClass("celltitle"); 
}); 

Oder prägnanter, da addClass (wie viele jQuery-Funktionen) implizit auf die gesamte Kollektion arbeitet:

$('div.gt-inner:first-child span').addClass('celltitle'); 
+0

Da Sie alle möglichen Elemente in der Auswahl gleich machen, ist die '.each()' Schleife nicht notwendig. – Jasper

+0

@Jasper: Yup, ich hatte gerade hinzugefügt, bevor Sie kommentiert :) – Ryan

+0

Danke, aber immer noch nicht funktioniert, und jetzt weiß ich, warum ... Dokument bereit ist nicht wirklich bereit, wie ich eine Warnung ("boo!"); nach diesem Code. Wenn boo erscheint, haben die Titel usw. nicht geladen, wie sie von der Sigma JS sind, und nehmen offensichtlich ein wenig Zeit in Anspruch. Vielleicht muss ich eine Verzögerung oder etwas hinzufügen? – Onyx

0

Verwenden Sie es wie dieses

$("div.gt-inner:first-child span").addClass("celltitle"); 

Demo

+0

Das OP hat das offensichtlich getan. – Jasper

+0

@Jasper, Ja .. mein Schlechter – Starx

Verwandte Themen