Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simple javascript loop not working

I'm not that experienced yet with JavaScript, so I’m probably overlooking something here:

var products = document.getElementsByClassName('product');
var productsLength = products.length;

for(var i = 0; i < productsLength; i++){
  var productGender = products[i].attr('data-gender');

  if(productGender === triggerVal){
    console.log('yes');
  } else {
    console.log('no');
  }
};

It says: products[i].attr is not a function

I should be able to access it right? The product is just a list item.

Thanks!

like image 772
Luc Avatar asked Dec 18 '22 23:12

Luc


2 Answers

attr is a jQuery method, use getAttribute

http://www.w3schools.com/jsref/met_element_getattribute.asp

like image 97
Igor Avatar answered Jan 02 '23 23:01

Igor


 var productGender = products[i].getAttribute('data-gender');

Is what you need, you have used jquerys .attr()

like image 24
BobbyTables Avatar answered Jan 02 '23 23:01

BobbyTables