Solved

jQuery: Select element with highest value in attribute

Posted on 2016-09-05
1
59 Views
Last Modified: 2016-09-08
Using jQuery, how can I change the background color of the element with the highest value for the attribute data-x?

In this example, only "Eleven" should be red.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {

 $('div').filter(function( index ) {return index;}).css( "background-color", "red" );

});

</script>
</head>
<body>

<div data-x="4">Four</div>
<div data-x="11">Eleven</div>
<div data-x="2">Two</div>
<div data-x="3">Three</div>
<div data-x="5">Five</div>
<div data-x="9">Nine</div>

</body>
</html>

Open in new window

0
Comment
Question by:skij
1 Comment
 
LVL 52

Accepted Solution

by:
Julian Hansen earned 500 total points
ID: 41784774
Any particular reason you are still using a transitional DOCTYPE?

You could do something like this
CSS
.maxval {
  background: green;
}

Open in new window

HTML
  <div data-x="4">Four</div>
  <div data-x="11">Eleven</div>
  <div data-x="2">Two</div>
  <div data-x="3">Three</div>
  <div data-x="5">Five</div>
  <div data-x="9">Nine</div>

Open in new window

jQuery
$(function() {
  var max = 0, current = false;
  $('div[data-x]').each(function() {
    var value = $(this).data('x');
    if (value > max) {
      current = $(this);
      max = value;
    }
  });
  current.addClass('maxval');
});

Open in new window

Working sample here
1

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction If you're like most people, you have occasionally made a typographical error when you're entering information into an online form.  And to your consternation, the browser remembers the error, and offers to autocomplete your future entr…
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now