Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

334
Views
Uncaught TypeError: Cannot read properties of undefined (reading 'getAttribute')

have error Uncaught TypeError: Cannot read properties of undefined (reading 'getAttribute')

I have a website that needs to use filters. Sort by price. But displays an error

enter image description here

enter image description here

const big_content = document.querySelector('#big_content');
document.querySelector('#sort_low').onclick = function() {
                      low__high('data-price')
}
document.querySelector('#sort_high').onclick = function() {
                      high__low('data-price')
};

function low__high(sortType) {
 const big_content = document.querySelector('#big_content');
       for (let i = 0; i < big_content.children.length; i++) {
            for (let j = i; i < big_content.children.length; j++) {
    if (+big_content.children[i].getAttribute(sortType) > +big_content.children.length[j].getAttribute(sortType)) {
                                            replaceNode = big_content.replaceChild(big_content.children[j], big_content.children[i])
                                            insertAfter(replaceNode, big_content.children[i])
                                        }
                                    }
                                }
                                console.log('Sort by price: low to high');
                            }

                            function high__low(sortType) {
                                const big_content = document.querySelector('#big_content');

                                for (let i = 0; i < big_content.children.length; i++) {
                                    for (let j = i; i < big_content.children.length; j++) {
                                        if (+big_content.children[i].getAttribute(sortType) < +big_content.children.length[j].getAttribute(sortType)) {
                                            replaceNode = big_content.replaceChild(big_content.children[j], big_content.children[i])
                                            insertAfter(replaceNode, big_content.children[i])
                                        }
                                    }
                                }
                                console.log('Sort by price: high to low');
                            }

                            function insertAfter(elem, refElem) {
                                return refElem.parentNode.insertBefore(elem, refElem.nextSibling)
                            }
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!