WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Javascript Variabelproblem (https://www.wn.se/forum/showthread.php?t=1065475)

Sven74 2015-09-05 20:34

Javascript Variabelproblem
 
Hur skriver man javascript så att nummer tolkas (i detta fall) som 11 ?
Testat med alla möjliga paranteser, men det verkar som nummer alltid tolkas som nummer och inte som 11....:confused::confused::confused:

var nummer=11;
var brand=nummer.getAttribute("data-kod");

P.P 2015-09-06 00:07

Den koden du visar kan inte fungera då getAttribute() måste användas på element och det du ger den är en integer. Du kan ju aldrig hitta "data-kod"-attributet i siffran 11?

Vet inte om jag lyckas förstå dig rätt (kanske är trött) men har du något annat exempel?

olarsson 2015-09-06 05:41

Varför är det så svårt
 
Varför är det så svårt att på ett logiskt och begripligt sätt förklara vad det är du vill göra?

Conny Westh 2015-09-06 10:15

Jag förstår inte vad du vill uppnå. kan du beskriva det mer utförligt.

11 är ju ett nummer, men jag tolkar din fråga som att du INTE vill att 11 ska tolkas som nummer, då begriper jag inte vad du vill.

Här lite utbildningsmaterial....

Attribut: http://www.w3schools.com/jsref/prop_node_attributes.asp
Datatyper: http://www.w3schools.com/js/js_datatypes.asp
Variabler: http://www.w3schools.com/js/js_variables.asp

Sven74 2015-09-06 10:50

Hej.
Tack för svaren och beklagar min diffusa frågeställning.
Jag anropar en funktion och skicka med elementnamnet som "parameter/variabel".
Jag har förstått att det finns smartare sätt t.ex via jquery osv, men jämför alternativen här under. (alt 2 ger felkod TypeError: e.getAttribute is not a function).

Alt1.
var brand=knapp2.getAttribute("data-kod");

Alt2.
var e='knapp2';
var brand=e.getAttribute("data-kod");

Tack för länkarna, måste läsa lite grundläggande....

Nerix 2015-09-06 12:10

Citat:

Ursprungligen postat av Sven74 (Inlägg 20512518)
Hej.
Jag anropar en funktion och skicka med elementnamnet som "parameter/variabel".

Funktionen du anropar, alltså getAttribute existerar inte på objektet (i de här fallet brand och knapp), vilket är varför felet ges. Men istället för att förklara vad du tror att du gör, skulle du inte kunna förklara vad du vill uppnå istället?

Sven74 2015-09-06 12:24

Jag löste det med jquery istället.
Där gick det att påverka selector med en variabel.

var e='knapp2';
var brand=$('#'+e).attr("data-kod");

tack för era svar.

Nerix 2015-09-06 12:29

Citat:

Ursprungligen postat av Sven74 (Inlägg 20512525)
Jag löste det med jquery istället.
Där gick det att påverka selector med en variabel.

var e='knapp2';
var brand=$('#'+e).attr("data-kod");

tack för era svar.

Så du ville hämta ut ett attribut ur en HTML-tagg, där id:t på taggen är variabel. Varför sa du inte de :/ Koden du postat tidigare har inget med koden ovan att göra.

Sven74 2015-09-06 12:38

Citat:

Ursprungligen postat av Nerix (Inlägg 20512526)
Så du ville hämta ut ett attribut ur en HTML-tagg, där id:t på taggen är variabel. Varför sa du inte de :/ Koden du postat tidigare har inget med koden ovan att göra.

Ja, precis så.
Koden tidigare var ett lysande exempel på icke fungerande kod :-)
Det som störde mig var att alt1 fungerade och alt2 ej fungerade....

x264 2015-09-07 07:25

Du hade alltså velat ha något såhär:

Kod:

function getAttributeFromId(id, attribute) {
    var e = document.getElementById(id);
    return (e && e.hasAttribute(attribute)) ? e.getAttribute(attribute) : null;
}

sedan använda det:

Kod:

var btnAttribute = getAttributeFromId("knapp2", "data-kod");


Alla tider är GMT +2. Klockan är nu 02:01.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson