---
title: "getElementsByTagName hittar ingenting"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/113822-getelementsbytagname-hittar-ingenting"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Skarre"
published: "2004-10-18T09:04:20.000Z"
updated: "2004-11-16T10:02:35.000Z"
replies: 9
views: 508
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/113822-getelementsbytagname-hittar-ingenting"
---

# getElementsByTagName hittar ingenting

## #1 — Skarre, 2004-10-18T09:04Z

Koden nedan är tänkt att ersätta *target="\_blank"* på mina sidor och den har fungerat tidigare, men på den sida jag jobbar med för tillfället hittar den helt plötsligt ingenting (a_tags.length blir 0). Det spelar ingen roll vilken tagg jag testar med. Säkerligen ett pinsamt slarvfel, men jag hittar det inte i mitt nuvarande tillstånd.

```
function externalLinks() {
	if (!document.getElementsByTagName) {
		return;
	}
	var a_tags = document.getElementsByTagName("a");
	for (var i = 0; i < a_tags.length; i++) {
		var a = a_tags[i];
		if (a.getAttribute("href") && a.getAttribute("rel") == "blank") {
			a.target = "blank";
		}
	}
}
window.onload = externalLinks();
```

Permalänk: https://www.webforum.nu/p/113822

## #2 — jawbreaker, 2004-10-18T09:09Z

Är du säker på att den inte hittar länkarna?
Testa med 

```
window.onload = externalLinks;
```

Alltså utan parenteser på funktionen. Och så bör det väl egentligen stå 

```
a.target = "_blank";
```

?

Permalänk: https://www.webforum.nu/p/1461158

## #3 — nitro2k01, 2004-10-18T09:09Z

Har du kollat med en alert att funktionen körs? 
window.onload = externalLinks(); gör att funktionen körs innan sidan 
laddas, och window.onload sätt till funktionens returvärde.

window.onload = externalLinks;
Ska det naturligtvis vara!

Permalänk: https://www.webforum.nu/p/1461159

## #4 — Skarre, 2004-10-18T12:30Z

Jepp, jag har kollat att funktionen körs. Efter att a_tags har skapats testar jag *alert(a_tags.length);* och får då "0". :(

Permalänk: https://www.webforum.nu/p/1461265

## #5 — Web-Tor, 2004-10-18T12:44Z

Första kodsnutten i [det här inlägget](http://www.webforum.nu/showthread.php?s=&postid=935218#post935218) ska funka.

Permalänk: https://www.webforum.nu/p/1461272

## #6 — nitro2k01, 2004-10-18T12:54Z

Rent tekinskt så körs di funktion som det är nu **men** innan sidan har alddats, alltså finns det inga länkar på sidan då.

Permalänk: https://www.webforum.nu/p/1461278

## #7 — Web-Tor, 2004-10-19T12:33Z

> **nitro2k01 skrev:**
>
> Rent tekinskt så körs di funktion som det är nu men innan sidan har alddats, alltså finns det inga länkar på sidan då.

Som sagt var: Det funkar om man tar bort parenteserna efter funktionsanropet.

Permalänk: https://www.webforum.nu/p/1464818

## #8 — Skarre, 2004-11-16T08:57Z

Nu är jag där igen. Funktionen vägrar köras utan parenteser, och när jag kör den med parenteser hittas istället inga länkar.

```
function externalLinks() {
	if (!document.getElementsByTagName) {
		return;
	}
	var a_tags = document.getElementsByTagName("a");
	for (var i = 0; i < a_tags.length; i++) {
		var a = a_tags[i];
		if (a.getAttribute("href") && a.getAttribute("rel") == "_blank") {
		a.target = "_blank";
		}
	}
}
window.onload = externalLinks;
```

Permalänk: https://www.webforum.nu/p/1484839

## #9 — Peter S, 2004-11-16T09:06Z

Då föreslår jag att plockar bort ett eventuellt *onload*attribut från \<body\>, alternativt lägger till externalLinks() till nämnd tagg.

 :)

Permalänk: https://www.webforum.nu/p/1484840

## #10 — Skarre, 2004-11-16T10:02Z

Aha, man kan alltså inte ha ett onload-attribut samtidigt. Det förklarar saken. Tack för det!

Permalänk: https://www.webforum.nu/p/1484866

---

Tråden på webben: https://www.webforum.nu/amne/javascript/113822-getelementsbytagname-hittar-ingenting
