translate jquery to js | Sololearn: Learn to code for FREE!

+4

translate jquery to js

how could we write this in js ? <div id="div1"></div> <div id="div2"></div> <script> $("div").click(function(){ var a = $(this).attr("id"); }); </script>

3/10/2018 9:05:24 AM

NoxFly

23 Answers

New Answer

+8

ha c'est avec Angular... Une piste à peaufiner : Comme c'est Angular, tu vires "this.id" et le deuxième paramètre. Tu écris comme çà : "ng-click("removePoints($event)")". Après, tu change toute ta fonction comme çà : $scope.removePoint = function(e) { var plus = e.currentTarget.attributes.id.nodeValue; if(plus === "Strenghtmore") { if($scope.pointsLeft <= 20 && $scope.pointsLeft > 0 ) { $scope.pointsLeft--; } } else { if($scope.pointsLeft < 20 ) { $scope.pointsLeft++; } } } Tu auras bien les points qui ce vide jusqu'à 0 et qui ce remplissent jusqu'à 20 en détectant si tu clique sur plus ou moins. Après, il faudra faire des if pour cibler plus chaque partie pour ajouter les points au bon endroit.

+12

Another simple solution. <div id="div1" onclick="recup(this)"></div> <div id="div2" onclick="recup(this)" ></div> <script> function recup(x) { var a = x.id; } </script>

+12

We need "jQueriel" like Babel๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚

+12

You can use just sizzle module, or if I remember correctly can include only slim version of jQuery.

+11

// read this (really helpful): // http://youmightnotneedjquery.com function click() { var a = this.getAttribute("id"); } [].forEach.call(document.getElementsByTagName("div"), function (div) { div.addEventListener("click", click, false); }); // without extra variable: [].forEach.call(document.getElementsByTagName("div"), function (div) { div.addEventListener("click", this, false); }, function () { var a = this.getAttribute("id"); });

+11

Petite erreur de copie. Dans ng-click c'est "removePoint" sans le "s".

+9

thanks Emile Djida and SILENT :)

+8

De rien.;-)

+7

Pourtant, ça doit fonctionner. La solution de @SILENT est la plus avancé. Celle de @Emile Djida est equivalente voir avec ajustement la plus rapide. Ma version est la plus rapide mais un peu chiante, car il faut toujours ajouter un onclick dans les balises.

+7

@NoxFly Montre un exemple de ton code.

+6

๐Ÿ˜‚ 4rontender

+6

c.mechain, jai essayé mais ca marche pas :/ jdois mal m'y prendre

+6

thanks Basile Laderchi

+5

@SILENT , I agree totally ๐Ÿ‘

+5

it's not advisable to waste bandwidth on full jQuery when all u need is a little code, moreover jQuery should not be used by beginners as it ll hinder your learning process , but it's good to know it makes development easier

+5

regarde dans le js jai ciblé la zone https://code.sololearn.com/WRuGuKbTvpmi/?ref=app

+5

oki

+4

nickel merci

+3

var divs= document. getElementsByTagName("div"); for(var i=0; i<divs.length; i++){ divs[i].onclick= function(){ var a= this.getAttribute("id"); }; }

+3

I found this website to be very useful: https://plainjs.com