jQuery Uncaught TypeError: Cannot read property 'nodeType' of undefined

javascript, jquery

Solution

You probably meant

originalImg = $(element).find('.ProductImage a img').attr('src');

The `attr` function isn't designed to be called without arguments.

Problem

There are 4 of these all the same. I narrowed it down to this line by a process of elimination: ``` originalImg = $(element).find('.ProductImage a img').attr(); ``` I'm at a bit of a loss of what might be causing this. Here is my code in full: ``` $(function(){ $('.SubCategoryList li').each(function(index, element) { $(element).append('<div class="ProductListWrapper"></div>') var subcategory_link = $(element).find('a').attr('href'); $(element) .find('.ProductListWrapper') .load( subcategory_link + ' #CategoryContent ul.ProductList', productHovers); }); }); function productHovers(){ $('.SubCategoryList .ProductList li').each(function(index, element){ // This is the problem line. originalImg = $(element).find('.ProductImage a img').attr(); $(element).mouseover(function(){ var link = $(this).find(".ProductImage a").attr('href'); $.get(link,function(data,status){ var tinyImg = $(data) .find('.ImageCarouselBox ul li:nth-child(1) img') .attr('src'); var imageSRC = tinyImg.replace('.60.60.jpg','.200.200.jpg'); $(element).find('.ProductImage a img').attr('src',imageSRC); }); }); $(element).mouseleave(function(){ $(element).find('.ProductImage a img').attr('src',originalImg); }); }); } ```

Original source