jQuery: Select links that do not contain a period.

Using jQuery, how can I add a condition so that this is not matched if the link contains a period?

<!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() {

    $('a[href]').each(function () {
        $(this).css('background','yellow');
    });

    $('a[href]').not('[href^="http"],[href^="mailto:"],[href^="/"],[href^="#"]').each(function () {
        $(this).css('background','red');
    });

});

</script>

</head>
<body>


<p>

<a href="#hello">Yellow</a>
<a href="world">Red</a>
<a href="mailto:email@example.com">Yellow</a>
<a href="/">Yellow</a>
<a href="test.html">Yellow</a>


</p>


</body>
</html>

Open in new window

LVL 16
hankknightAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
leakim971Connect With a Mentor PluritechnicianCommented:
0
 
Ishaan RawatConnect With a Mentor Designer | Developer | ProgrammerCommented:
Try this...

$("a[href*="."]").each(function() {
     // do as your wish with the a elements having . in their href...
});

Open in new window


or if you just want to add CSS... then you can do that by CSS to..

a[href*="."]{
     // do as your wish with the a elements having . in their href...
}

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.