2017-05-30 1 views
0

Ich möchte ID von <div> oder bekommen, indem Sie darauf klicken. Bitte helfen ...Wie bekomme ich ID von div oder anchor-Tag, wenn angeklickt, mit reinem Javascript

<div class="reccl" id="allact"><a href="#" class="a" id="b">All Activities</a></div> 
<div class="reccl" id="lgns"><a href="#" class="a" id="bb">Logins</a></div> 
<div class="reccl" id="dwld"><a href="#" class="a" id="bb">Download</a></div> 

JavaScript-Code:

var a = document.getElementsByClassName('a'); 
    for(var b = 0; b <= a.length; b++){ 
     a[i].onclick = function(e){ 
      alert("id clicked"); 
     } 
    } 

Code hier: http://jsfiddle:%20http://jsfiddle.net/mm07p5rz/

+0

entweder durch was oder ein Tag? – Ray

Antwort

3

einfach die id-Eigenschaft des Objekts target Click-Ereignis erhalten. Übrigens sollte id s im Dokument eindeutig sein.

document.addEventListener("click", function(evt){ 
 
    console.log(evt.target.id); 
 
});
<div class="reccl" id="allact"><a href="#" class="a" id="b">All Activities</a></div> 
 
<div class="reccl" id="lgns"><a href="#" class="a" id="bb">Logins</a></div> 
 
<div class="reccl" id="dwld"><a href="#" class="a" id="bbb">Download</a></div>

Dies wird die id jedes <a> Element erhalten, auf den geklickt wurde: Dies wird das id jedes Element auf der Seite geklickt erhalten

. Sie können die einzelnen Elemente beliebig filtern Sie mögen, aber der Prozess der id ist das gleiche zu bekommen:

// Get just and <a> elements 
 
var anchors = document.querySelectorAll("a"); 
 

 
// Set up a click event listener for each one 
 
for(var i = 0; i < anchors.length; i++){ 
 
    anchors[i].addEventListener("click", function(evt){ 
 
    console.log(evt.target.id); 
 
    }); 
 
}
<div class="reccl" id="allact"><a href="#" class="a" id="b">All Activities</a></div> 
 
<div class="reccl" id="lgns"><a href="#" class="a" id="bb">Logins</a></div> 
 
<div class="reccl" id="dwld"><a href="#" class="a" id="bbb">Download</a></div>

+0

'.addEventListener()' ist der W3C-DOM-Ereignis-API-Standard zum Anhängen von Ereignisbehandlungsfunktionen an Ereignisse von DOM-Objekten. 'onclick',' onXyz' funktioniert, ist aber veraltet und hat Nachteile gegenüber '.addEventListener()'. –

+0

Danke Mann ... genau das, was ich gesucht habe ... Ich habe Addeventlistener Kerl da oben vermisst ,,, Prost Mate ... – mindre

0

ich Ihren Quellcode

var a = document.getElementsByClassName('reccl'); 
 
for (var b = 0; b < a.length; b++) { 
 
a[b].onclick = function(e){ 
 
    //get child's id in element 
 
    alert(e.target.id); 
 
    
 
    //get element's id 
 
    alert(e.currentTarget.id); 
 
} 
 
}
<div class="reccl" id="allact"><a href="#" class="a" id="b">All Activities</a></div> 
 
<div class="reccl" id="lgns"><a href="#" class="a" id="bb">Logins</a></div> 
 
<div class="reccl" id="dwld"><a href="#" class="a" id="bb">Download</a></div>

bearbeiten
+0

Whoa! Ein bisschen mehr als nötig. Keine Notwendigkeit, eine Funktion von der Ereignisfunktion zurückzugeben. Und die zurückgegebene Funktion wird immer "undefiniert" für ihr "e" Argument haben. –

+0

@ScottMarcus Meine Idee ist: e.target zeigt auf Element, das Sie in das Elternelement klicken und ein [arg] zeigt auf Element, das onclick-Ereignis auslöst. Natürlich kann das Beispiel einfacher geschrieben werden ^.^ –

+0

Was ist der Sinn von allem? Weisen Sie dem Ereignis eine Funktion zu. Keine Notwendigkeit, eine neue Funktion zurückzugeben. Das fügt keinen Wert hinzu und verwirrt nur den Code. –

Verwandte Themen