Solved

jQuery: Closest parent with attribute defined

Posted on 2012-03-11
5
1,818 Views
Last Modified: 2012-03-12
Using jQuery, how can I find the closest parent with the "dir" attribute defined?

<html>
<head>
<title>Hello</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() {
  alert('The closest parent with the attribute dir defined has the dir value of ????');
});
</script>

</head>
<body>

<div>
 <div>
  <div dir="ltr">
   <div>
    <div>
     <div>
      <div>
       <p id="xyz"></p>
      </div>
     </div>
    </div>
   </div>
  </div>
 </div>
</div>

</body>
</html>

Open in new window

0
Comment
Question by:hankknight
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 82

Expert Comment

by:leakim971
ID: 37708088
The first one in the body :
$("div[dir]", "body").attr("dir");

Open in new window

0
 
LVL 16

Author Comment

by:hankknight
ID: 37708213
I want the closets parent, not the first one in the body.

In the example below, it should find "ltr" not "rtl".

<html>
<head>
<title>Hello</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() {
  alert('The closest parent with the attribute dir defined has the dir value of ' + $("div[dir]", "body").attr("dir") );
});
</script>

</head>
<body>

<div>
 <div dir="rtl">
  <div>
   <div dir="ltr">
    <div>
     <div>
      <div>
       <p id="xyz"></p>
      </div>
     </div>
    </div>
   </div>
  </div>
 </div>
</div>

</body>
</html>

Open in new window

0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 37708230
Ok, check this : http://jsfiddle.net/x6d29/

$("#xyz").closest("div[dir]").attr("dir");

Open in new window

0
 
LVL 16

Author Comment

by:hankknight
ID: 37709243
Thanks!  Is there a way to get it to test for all elements with the "dir" attribute?  I also want to look for these in <p> and <span> tags.
0
 
LVL 82

Expert Comment

by:leakim971
ID: 37709282
 var $all_wit_a_dir_att = $("div[dir]");

Open in new window

0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

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

Avoid defining the variables in the global scope; trying to define them in a local function scope. Because:   • Look-up is performed every time a variable is accessed.   • Variables are resolved backwards from most specific to least specific scope…
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 the basics of jQuery, including how to invoke it on a web page. 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.: (CODE)
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…

717 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