Permalänk
Medlem

getelementsbyclass

Hallå där programmerare...
jag skulle behöva hjälp med ett förmodligen ganska enkelt problem...

Jag har implementerat google streetview på min webbsida genom att ha följande kod:

javascript :

function initialize() {

var stockholm_slussen = new GLatLng(59.320185,18.070707);
panoramaOptions = { latlng:stockholm_slussen };
stockPanoSlussen = new GStreetviewPanorama(document.getElementById("pano_stockholm_slussen"), panoramaOptions);
GEvent.addListener(stockPanoSlussen, "error", handleNoFlash);
}

function handleNoFlash(errorCode) {
if (errorCode == FLASH_UNAVAILABLE) {
alert("Error: Flash doesn't appear to be supported by your browser");
return;
}
}

och html ser ut så här :

<div id="pano_stockholm_slussen" style="width: 500px; height: 350px">
</div>

saken är att jag vill använda samma karta på lite olika ställen på sidan och därav vill slippa använda ID på divvarna.
nu så läser jag ju inte kartorna med getElementById, men vill ha getElementByClass...

jag vet att det finns funktioner som folk har gjort så att detta skall fungera, men jag vet inte hur jag skulle kunna få in min kod i den funktionen..

Här är en funktion getElementByClass som jag inte vet hur jag skalla använda

//Create an array
var allPageTags = new Array();
function doSomethingWithClasses(theClass) {
//Populate the array with all the page tags
var allPageTags=document.getElementsByTagName("*");
//Cycle through the tags using a for loop
for (i=0; i<allPageTags.length; i++) {
//Pick out the tags with our class name
if (allPageTags[i].className==theClass) {
//Manipulate this in whatever way you want
allPageTags[i].style.display='none';
}
}
}

Tacksam för hjälp!!!!

Permalänk

Går det inte att använda jQuery?
Annars så ska document.getElementsByClassName("classvalue") fungera i webkit, FF, Opera och IE9.

Permalänk
Medlem

Tjena...
Tack för svar!

Jodå, Jquery går alldeles utmärkt, jag får nog läsa på lite hur jag ska använda jquery till det...
säkert någon enkel kodrad...

Japp, jag har också läst att getElementsByClassName fungerar i de browsers, saken är att det skall fungera ner till Ie 7 och därför är det kört tyvärr...

Om du eller någon annan har färdig jquery kod så är jag tacksam för att få den inlagd

Permalänk

För att välja alla element med class "hej" och gömma dem så skriver man i jquery:

$(".hej").hide();

Nu så är det dock inte så bra att selecta på class direkt för det kan ge prestandaproblem i IE om man inte scopar sin sökning, tex en div med id som man begränsar sökningen till:

$("#pano_stockholm_slussen .hej").hide();

eller om man kanske sparat ner id tidigare:

var wrapper = $("#pano_stockholm_slussen"); // Man kanske har letat ner den mha parent(), find() osv ... $(".hej", wrapper).hide();

Permalänk
Medlem

Japp..då fick jag lite mer tips och tackar för detta