ramo_andMedlem sedan nov. 2010214 inlägg
voigtann1 skrev:
1. Ja, kör jquery skriptet så fort elementet finns, utan att vänta på DOM-Ready
Menar du att jag ska ta bort document.ready i javascriptet? För om jag gör det så funkar ingenting..
Alltså jag ska inte göra radbrytning på varje vara i kundkorgen, utan bara i sammanfattningen i sidhuvudet där det står t ex. "1 vara (Summa 999:-). Då behöver jag väl inte kör $.each? Det jag vill ha en är alltså en radbrytning efter vara så att det blir
1 vara
(Summa 999:-)
Menar du att jag ska ta bort document.ready i javascriptet? För om jag gör det så funkar ingenting..
Både ja och nej, DOM-Ready är bra att köra, men om du vill att javascripts koden skall köras så fort som möjligt så lägg in js koden direkt efter det DOM element du vill jobba med.
Alltså jag ska inte göra radbrytning på varje vara i kundkorgen, utan bara i sammanfattningen i sidhuvudet där det står t ex. "1 vara (Summa 999:-). Då behöver jag väl inte kör $.each? Det jag vill ha en är alltså en radbrytning efter vara så att det blir
Jo, eftersom $(selecotrs) retunera ett jquery objekt och inte en sträng som du försöker jobba mot, så det kommer aldrig att fungera.
Har du möjlighet att ändra HTML koden för det så hade jag hellre sett att du kanske sätter en span (eller om det redan finns) så sätt det till display: block
ramo_andMedlem sedan nov. 2010214 inlägg Jag har googlat ett tag nu och förstår ungefär hur regex funkar samt vad som är skillnaden mellan en sträng och ett objekt. Men jag fattar inte riktigt hur jQuery koden skall se ut... gjorde jag nåt rätt i min kod eller va den helt fel?
du har ju hämtat ut ut selectors ut rätt, det ända du behöver göra nu är att ändra alla objekts html, vilket jag har länkat till hur jquery html() fungera, bäst hade nog ändå varit att använda dig av text() om du nu inte har html element inne i $(".linkbasket") texterna.
flyttat trådarna du har skapat till javascript då detta är javascripts frågor du undra över.
ramo_andMedlem sedan nov. 2010214 inlägg Htmlstrukturen ser ut såhär:
<div style="" class="linkbasket">
<table cellspacing="0" cellpadding="8" border="0">
<tbody>
<tr>
<td class="twsupper" style="padding: 0pt 5px 0pt 55px;">
<img height="12" border="0" align="small" width="11" alt="" class="basketicon" src="http://shop.textalk.se/se/pics/basket_small.gif"> <span style="" class="smallbasket_title">Din varukorg</span>
<div style="margin-top: 3px;">
<span style="" class="smallbasket_text">2 varor (Summa 13 757:-)</span>
</div>
<div style="margin-top: 6px;">
<nobr>
<a title="Ändra" href="/se/basket.php?id=19194" class="tobasketimage">
<img border="0" alt="Ändra" src="http://shop.textalk.se/shop/19194/template94/19194-tobasketbuttonimage-f5b088.png">
</a>
<a title="Till kassan" href="http://shop.textalk.se/se/done.php?id=19194&win=0&tr=&ordernr=5058543&currency=14" class="checkoutimage">
<img border="0" alt="Till kassan" src="http://shop.textalk.se/shop/19194/template94/19194-checkoutbuttonimage-8608ee.png">
</a><img height="4" border="0" width="1" alt="" src="http://shop.textalk.se/se/pics/p.gif">
</nobr>
</div>
</td>
</tr>
</tbody>
</table>
</div>
Hur ändrar jag alla objekts html? Är inte riktigt med på varför jag behöver göra det tyvärr.. Jag kan inte gå in och göra det själv utan måste isåfall göra det med jQuery, typ replaceWith?
det är ju inte linkbasket du vill leta upp om jag fattar det utan smallbasket_text.
Tycker jag har förklarat i detalj vad du måste göra för att få det att fungera, det är max 3 rader jquery kod: http://jsbin.com/avaru3/
i din HTML kod har du även varor och inte bara vara, vilket regex uttrycket inte matchar.
Och nej du kan inte köra replaceWith, den ersätter DOM objekt och inte strängar, det är det du vill göra, ersätta text.
ramo_andMedlem sedan nov. 2010214 inlägg Ledsen att jag inte fattar men jag har knappt jobbat med jQuery alls förut så därför hänger jag inte alltid med..
jag tog din kod och ändrade lite grann och då funkar det på både vara och varor:
<script type="text/javascript">
$(".smallbasket_text").html(function(i, t) {
return t.replace(/(\bvar)/img, "<br/>$1");
});
</script>
Är det rätt?
Nu kommer br-tagen före vara/varor, det skall komma efter. hur ändrar jag det? provade att lägga in "(summa" istället för "vara" men då funkade det inte o det är väl pga ( parantesen
return t.replace(/\b(vara|varor)\b/img, "$1<br/>");
skrev ett uttryck sm matchar bara på vara och varor, inte "var", även om det inte kommer vara i ditt fall, sen flyttade jag bara <br> att den skall läggas in efter uttrycket som hittas ($1 är grupp ett i uttrycket, i detta fall vara/varor).
Ledsen att jag inte fattar men jag har knappt jobbat med jQuery alls förut så därför hänger jag inte alltid med..
Om du ändå skall lära dig så måste du läsa för att förstå hur det fungera, deras API dokumentation är fruktansvärt bra.
Jag vet inte riktigt vad du har för "roll" i webbprojektet. Men mitt råd är nog kanske att få sajten live klar och allt eftersom lägger man in funktionalitet.
ramo_andMedlem sedan nov. 2010214 inlägg tack så mycket! nu funkar det med.
Ja, det försöker jag läsa också men ibland är det svårt att fatta genom att bara läsa det så det underlättar med lite kod också. Men jag förstår också att man inte bara kan titta på koden om man verkligen vill lära sig hur det fungerar.
Jag har helt ansvarig för detta projekt. Jag jobbar på ett nystartat företag och är den enda som jobbar med webb där just nu. När jag började med detta så hade jag i princip bara jobbat med html o css så därför kan jag inte så mycket om jQuery ännu. Men har ju lyckats lära mig en del nu under projektets gång :)
ramo_andMedlem sedan nov. 2010214 inlägg jag gjorde ett eget litet försök på detta men de funkade tyvärr inte..
<script type="text/javascript">
$(".smallbasket_text").html(function(i, t) {
return t.replace(/\b(vara|varor)\b/img, "$1<br/>");
});
$(".breadcrumb_text").html(function(i, t) {
return t.replace(/\b(Kundvagn)\b/img, "Varukorg");
});
</script>
Jag kopierade koden o ändrade bara vilken text som skulle ersättas. I "brödsmulorna" på sidan står det nämligen var man är och där står det kundvagn istället för varukorg vilket jag skulle vilja ändra på.. Borde inte detta funka då?
Htmlkoden ser ut såhär:
<div class="breadcrumb">
<a href="/se/shop.php?id=19194" style="text-decoration: none;">Här är du:</a>
<b class="breadcrumb_text">»</b>
<b class="breadcrumb_text">Kundvagn</b>
</div>
http://jsbin.com/ojaru3/ fungera ju, men kan du inte ändra texter på sidan själv?
ramo_andMedlem sedan nov. 2010214 inlägg Mm.. konstigt asså.. förstår inte varför det inte funkar på vår sida. Kan det vara så att olika script liksom "krockar" med varandra så att det uppstår buggar?
Jag kan inte ändra nåt i html-koden alls, det är det som är som himla dumt.. därför måste jag hålla på o trixa med jQuery för att få det som jag vill.
Nej, förmodligen så är det så att du kör skriptet utanför DOMready dvs du försöker hitta objekt som inte ännu har renderats ut på hemsidan exempelvis:
...
<script type="text/javascript">
var bob = $("#bob") // Kommer ge en tom jquery kollektion
</script>
<div id="bob">...</div>
<script type="text/javascript">
var bob2 = $("#bob") // Kommer ge dig en kollektion med #bob nu, eftersom den nu finns i dom trädet.
</script>
...
Jag kan inte ändra nåt i html-koden alls
Nu är det texter, eller de säljer bara till svenska sajter?
ramo_andMedlem sedan nov. 2010214 inlägg Texter kan jag ändra på produkterna o så. Samt lägga till egna sidor med eget innehåll. Men att det står kundvagn i brödsmulorna kan jag inte ändra t ex. Det jag kan göra är i princip att lägga till text utifrån den mallen man får från början.
ramo_andMedlem sedan nov. 2010214 inlägg
voigtann1 skrev:
Nej, förmodligen så är det så att du kör skriptet utanför DOMready dvs du försöker hitta objekt som inte ännu har renderats ut på hemsidan exempelvis:
...
<script type="text/javascript">
var bob = $("#bob") // Kommer ge en tom jquery kollektion
</script>
<div id="bob">...</div>
<script type="text/javascript">
var bob2 = $("#bob") // Kommer ge dig en kollektion med #bob nu, eftersom den nu finns i dom trädet.
</script>
...
Okej för de uppstår t ex en bugg att priset i "topplistan" som jag har på sidan försvinner när jag går till betalsidan.. vad kan det bero på? Måste ju vara något som jag har lagt till i form av jQuery eller CSS?
Igen, utan någon som hellst koll på din html struktur eller javascript så är det fruktansvärt svårt att följa med i dina problemställningar. Det ända jag kan säga: Koden gör bara det den bli tillsagd att göra.
ramo_andMedlem sedan nov. 2010214 inlägg Sry.. my bad. Här är html-koden för den sidan samt den senaste css:en.
"topplistan" ser ju helt galen ut i IE också.. bilder på det finns i en av mina andra trådar..
Jag ser topplistan med den kod du skickar, men jag gissar på att det bli fel pga att du wrappar en div runt en tr, vilket bryter mot renderingen (eller kan ställa till problem, vilket jag har skrivit i inlägg tidigare).
ramo_andMedlem sedan nov. 2010214 inlägg Jo helt rätt, men problemet är att priset försvinner.. om du skulle titta på den html-koden jag skickat tidigare så syns priset där med. Men de kan väl vara pga div:en.. ska testa o ta bort den.
Några funderingar på varför den uppför sig som den gör i IE? bakgrundsbilden visas inte t ex..
Men om du kollar din HTML så finns inte något pris på din topplista:
<div class="listTitle"> Topplistan</div>
<table class="articleListTable" width="190" border="0" cellspacing="0" cellpadding="3">
<tr valign="bottom">
<td class="listLine listlineImageColumn"><A HREF="http://shop.textalk.se/se/article.php?id=19194&art=6238046" CLASS="twsright"><IMG SRC="https://shop.textalk.se/shop/19194/img25/h6525/4856525-rescaledtn-50x47.jpg" WIDTH="50" HEIGHT="47" BORDER="0" ALT="Wekla Ecoboard"></A></td><TD class="listLine listLineArticleNameColumn" width="131"><div><a href="http://shop.textalk.se/se/article.php?id=19194&art=6238046" class="list listArticleName">Wekla Ecoboard</A></div></td></tr>
<tr valign="bottom">
<td class="listLine listlineImageColumn"><A HREF="http://shop.textalk.se/se/article.php?id=19194&art=6230420" CLASS="twsright"><IMG SRC="https://shop.textalk.se/shop/19194/img41/h4041/4844041-rescaledtn-50x47.jpg" WIDTH="50" HEIGHT="47" BORDER="0" ALT="Wekla Log Trailer 2600"></A></td><TD class="listLine listLineArticleNameColumn" width="131"><div><a href="http://shop.textalk.se/se/article.php?id=19194&art=6230420" class="list listArticleName">Wekla Log Trailer 2600</A></div></td></tr>
<tr valign="bottom">
<td class="listLine listlineImageColumn"><A HREF="http://shop.textalk.se/se/article.php?id=19194&art=6211291" CLASS="twsright"><IMG SRC="https://shop.textalk.se/shop/19194/img94/h4694/4824694-rescaledtn-50x47.jpg" WIDTH="50" HEIGHT="47" BORDER="0" ALT="Wekla Log Split 520"></A></td><TD class="listLine listLineArticleNameColumn" width="131"><div><a href="http://shop.textalk.se/se/article.php?id=19194&art=6211291" class="list listArticleName">Wekla Log Split 520</A></div></td></tr>
<tr valign="bottom">
<td class="listLine listlineImageColumn"><A HREF="http://shop.textalk.se/se/article.php?id=19194&art=6211274" CLASS="twsright"><IMG SRC="https://shop.textalk.se/shop/19194/img31/h4631/4824631-rescaledtn-50x47.jpg" WIDTH="50" HEIGHT="47" BORDER="0" ALT="Wekla Wood Elevator 5000"></A></td><TD class="listLine listLineArticleNameColumn" width="131"><div><a href="http://shop.textalk.se/se/article.php?id=19194&art=6211274" class="list listArticleName">Wekla Wood Elevator 5000</A></div></td></tr>
<tr valign="bottom">
<td class="listLine listlineImageColumn"><A HREF="http://shop.textalk.se/se/article.php?id=19194&art=6208322" CLASS="twsright"><IMG SRC="https://shop.textalk.se/shop/19194/img80/h7580/4817580-rescaledtn-50x47.jpg" WIDTH="50" HEIGHT="47" BORDER="0" ALT="Wekla Log Split 700-8T"></A></td><TD class="listLine listLineArticleNameColumn" width="131"><div><a href="http://shop.textalk.se/se/article.php?id=19194&art=6208322" class="list listArticleName">Wekla Log Split 700-8T</A></div></td></tr>
</table>
jag är kan inte se något pris i din tabell.