ramo_andMedlem sedan nov. 2010214 inlägg Jag blir f*n inte klok på Internet Explorer! Ingenting funkar ju som det ska där.. Jag vill göra några enkla css grejer bara men det funkar inte alls bra. På sidan jag håller på med kommer vi ha en topplista som visar dom mest sålda produkterna. I Firefox ser den såklart bra ut min inte i Internet Explorer. Enkla saker som background o border funkar inte ens..
Jag har använder IE toolbar eller va den heter och där står det ju att t ex trWrapper eq-0 har en viss bakgrund, men den visas inte... Varför är det så?? Sen så kan jag inte få produktnamnet ovanför priset som är i Firefox...
Hjälp någon snälla, jag blir så trött på dessa ständiga IE problem :p
Kan egentligen bara säga: Innan man börja skälla på IE så bör man kanske kolla sin HTML struktur, om du validera din kod så kommer den inte validera (som jag berättade i en av dina tidigare trådar).
Om du sätter CSS bakgrunden på td elementet, sätter dina eq-x på den första tdn per rad (jag gissar det är för att få numret till vänster).
ramo_andMedlem sedan nov. 2010214 inlägg Jo men jag kan ju inte ändra htmlstrukturen mer än det jag kan göra med jQuery. diven "trWrapper" har jag lagt till själv för jag trodde de skulle hjälpa om man körde bakgrunden på den, men de hjälpte inte.
Jag fattar dock inte varför inte enkla grejer som padding-left / margin-left inte kan fungera på td.listlineImageColumn t ex. Och att bakgrunden inte visas på div:en trWrapper.. väldigt skumt
Har även en del problem med detta i Safari.. det är riktigt störande att jag inte kan göra nåt åt hmtl-strukturen. Skulle helst av allt bara vilja köra en replace på alltihop.
Du behöver inte skapa ett DOM element till, du har ju fullmakt att påverka klasser på de element som redan finns, du kan ju t o m ersätta allt, hämtar bara ut alla td element, tar HTML koden ifrån dom och generera om till divar endast om du vill det, kolla hur man stylar tabeller med hjälp av CSS.
ramo_andMedlem sedan nov. 2010214 inlägg jo men de går ju inte o påverkar tabellelement hur som helst i IE verkar det som. Kan t ex inte få produktnamnet ovanför priset på något sätt..
Sen så kan jag ju inte byta ut all html kod då den genereras från databasen beroende på vilken vara som sålts mest. Om jag skulle byta ut all html så skulle samma produkt ligga etta hela tiden och det funkar ju inte riktigt..
BuddazMedlem sedan dec. 2009308 inlägg Hej
Jag hade först validerat din kod som voigtann1 säger : http://validator.w3.org/ då kan man se vad som är fel om det nu är html du vill validera. Den kommer säga om något är fel och var.
MVH
Buddaz
ramo_and skrev:
jo men de går ju inte o påverkar tabellelement hur som helst i IE verkar det som. Kan t ex inte få produktnamnet ovanför priset på något sätt..
Bör du ju kunna, det är ju det det ser ut att vara i din tabellstruktur by default.
Sen så kan jag ju inte byta ut all html kod då den genereras från databasen beroende på vilken vara som sålts mest. Om jag skulle byta ut all html så skulle samma produkt ligga etta hela tiden och det funkar ju inte riktigt..
Klart att du kan, i efterhand efter html koden är färdig så kan du göra vad du vill med jquery (nästan), du kan hämta ut alla element du är intresserad av => Klonar dom, skapar egna, wrappar (som du har gjort), skapa nya DOM objekt som skriver över befintliga DOM objekt bara ett tydligt exempel:
$("a").each(function() {
var v = $(this),
h = v.html();
v.replaceWith("<span>"+h+"</span>");
})
ersätter alla a-element till ett span element.
ramo_andMedlem sedan nov. 2010214 inlägg Det stod att det inte var några fel men jag misstänker att den inte gjorde testet på vår webbutikssida som jag håller på med då man måste logga in för att se den. Så tror inte att jag kan göra detta förrän vi lägger upp den skarpt.
Valideringen kommer bara köra på den genererade HTML koden, så om du gör ändringar med jquery så kommer den inte validera dina jquery ändringar, men det innebär inte att man bör bryta mot de regler webbläsarna har anpassat sig för även om du skapar element dynamiskt.
ramo_andMedlem sedan nov. 2010214 inlägg Hmm.. körde en test på replaceWith nu o de funkade inte så bra.. hehe.
<script type="text/javascript">
$(".trWrapper tr").each(function() {
var v = $(this),
h = v.html();
v.replaceWith("<div class='trInner' />");
})
</script>
Det händer ingenting med denna koden. Har jag gjort nåt fel? Känns ju som de blir konstigt med alla <td> som ligger i en <tr> när man byter ut den mot en div
ramo_andMedlem sedan nov. 2010214 inlägg Hmm.. körde en test på replaceWith nu o de funkade inte så bra.. hehe.
<script type="text/javascript">
$(".trWrapper tr").each(function() {
var v = $(this),
h = v.html();
v.replaceWith("<div class='trInner' />");
})
</script>
Det händer ingenting med denna koden. Har jag gjort nåt fel? Känns ju som de blir konstigt med alla <td> som ligger i en <tr> när man byter ut den mot en div
Du ersätter (om det nu fungera om du kör lite senare versioner av jquery) så ersätter du tr (även dess childs) med en div... vilket inte är alls det du vill. Glöm det jag skrev, känns som det är ett större projekt än vad det finns tid att göra.
ramo_andMedlem sedan nov. 2010214 inlägg Jag kör version 1.4.2 tror jag. Jo men jag vill ju ersätta allt som är tabeller med div, både tr o td. Det är ju mycket lättare att hantera än tabell-element..
Hämta ut din tabell,
hämtar ut alla tr, hämta ut alla element du är intresserad över att behålla, skapa upp en ny div med divar i(kanske?) => flytta elementet till sin nya div, när allt är klar, ersätt tabellen med den nya html koden.
ramo_andMedlem sedan nov. 2010214 inlägg Hmm jag är inte riktigt med på hur jag ska applicera den koden på min egen sida.. jag kan inte så mkt javascript/jQuery nämligen.. Jag gjorde ett försök med de blev inte så lyckat.. hehe.
En annan sak som jag undrar ang. IE är att den verkar ha väldiga problem med att läsa CSS.. jag fattar inte varför med på denna sidan jag jobbar med nu funkar inte enkla attribut som background, border, height, width, margin osv på flera ställen. Särskilt dåligt fungerar det i tabeller.
Vet inte vad du menar, men margin,widht, height och padding+ border tolkar IE olika (eller rättare sagt när man gör det ihop med varandra).
Och jag kan inte göra något för dig mer än det exempel jag har visat då jag inte ha en aning om HUR du vill att det skall vara efter jquery har kört.
ramo_andMedlem sedan nov. 2010214 inlägg Nä jag förstår det :) Alltså det jag vill är att de ska se ut som i Firefox enl. bilderna jag bifogat. Sen om jag gör det med tabeller eller div:ar spelar ingen roll. Det jag tänkte var att det kanske är lättare att styla div:ar så det var därför jag vill göra om det till det. Men jag vet inte om det hjälper. Jag har t ex. satt width: 80px på första td-elemtent (den där bilden är, bilden är 50px bred) men det bryr sig inte IE om. jag använder developer tool o där står det att den har width: 80px men det visas inte liksom... jag fattar inte varför.. samma sak om jag t ex. sätter margin-right: 5px. Den tar det inte.
Det är därför det är viktigt att följa och validera sin HTML struktur (även efter jquery har kört sitt) det bli inte lättare att hjälpa dig när du inte delar med dig av din CSS heller.
ramo_andMedlem sedan nov. 2010214 inlägg Nää ok =) Men vi kommer nog lägga upp sidan imorgon (även fast den inte är helt klar) så då kan du titta direkt på den istället för att jag lägger upp en massa css och html kod här