roomMedlem sedan mars 2001270 inlägg
Hej har ett script som ser ut så här
<script type="text/javascript">
function margin() {
document.getElementById('ul_16').style.margin='0 0 0 -10';
}
</script>
Jag har en massa ul_xx t ex
ul_0
ul_16
ul_19
ul_20 ...
Jag skulle vilja att scriptet ändrar på alla ul_xx som är över ul_0. Hur skriver jag scriptet då?
StefanBergfeldtMedlem sedan sep. 2004752 inlägg
Jag skulle rekommendera dig att använda ett javascript-framework, till exempel jQuery.
Det underlättar otroligt mycket
hybrisMedlem sedan nov. 200862 inlägg
tja, jag har också mycket frågot kring hur jag får mina script att funka,
men JQuery är ett bra tips, det underlättar som sagt
ifall du kommer igång med den så kan vi hjälpa varandra igen, posta här så
fort du har en fråga, jag tror jag vet vad du vill åstakomma
roomMedlem sedan mars 2001270 inlägg
Jag kan inte använda jquery eller något annat framework. Detta är en mallsida i en e-butik där jag bara kan ändra vissa rader med kod. Så jag är rätt låst!
Någon som kan ge mig scriptet jag behöver skrivet i javascript?
Alternativ lösning: Om jquery-frameworket körs, hur skulle det se ut då?
StefanBergfeldtMedlem sedan sep. 2004752 inlägg
$("ul[id^='ul']").css("margin", "0 0 0 -10px");
hybrisMedlem sedan nov. 200862 inlägg
$("div.contentToChange em").css({color:"#993300", fontWeight:"bold"});
den där raden klippta jag ur ett exempel från Jquery's hemsida
det är typ så enkelt, men däremot vill vi ju bara påverka viss element så
antar att man får peta in en variabel där... mmm, men nej det blir nog knepigt,
du får duplicera koden, antar jag, och slänga in alla class namn manuellt så att
säga, det finns nog däremot enklare sätt, men men
så ifall du har jQuery installerat och länkat i ditt dokument så är
motsvarigheten till onload något såhär...
$(document).ready(function(){
"koden"
}
StefanBergfeldtMedlem sedan sep. 2004752 inlägg
Mitt exempel påverkar alla ul-taggar som har ett ID som börjar med 'ul'
Så inte behöver du duplicera något.
roomMedlem sedan mars 2001270 inlägg
Förstår inte riktigt vart i javascriptet jag ska lägga in den där raden. Har provat detta nu:
function margin() {
var ul;
ul = 'ul_'
for(var i=1;i<=100;i++) {
if(document.getElementById(ul+i).style.margin != null) {
document.getElementById(ul+i).style.margin='0 0 0 -10';
alert(ul+i);
}
}
Men det funkar inte. Den ändrar ingenting. Men skriver jag t ex
for(var i=16;i<=16;i++)
Så fungerar det, just detta element heter ul_16, men dom andra vet jag ju inte vad dom heter.
Varför fungerar inte ovanstående kod?
roomMedlem sedan mars 2001270 inlägg
fick ordning på jquery
Funkade med Jquery och denna raden:
$("ul[id^='ul']").css("margin", "0 0 0 -10px");
Men jag vill endast ändra de ul_x som är över ul_0, dvs ul_16 och så vidare hur ser syntaxen ut då?
colioneMedlem sedan juni 20013 386 inlägg
$("ul[id^='ul']").each( function() {
if (this.id.match(/\d+/)>0) {
$(this).css('margin','0 0 0 -10px');
}
});