+ -
当前位置:首页 → 问答吧 → 请问各位高手,如何利用JQuery获得某一元素之前的元素呢?

请问各位高手,如何利用JQuery获得某一元素之前的元素呢?

时间:2010-01-30

来源:互联网

请问各位高手,如何利用JQuery获得某一元素之前的元素呢?
比如:
<p></p>
<p></p>
<p></p>
<hr/>
<p></p>
<p></p>
<p></p>
这样一段HTML中我如何获得hr之前的所有p呢?

作者: supakito   发布时间: 2010-01-30

你可以换个方式嘛,给hr之前的P都加个一样的class呢,然后不就好选了

作者: ywqbestever   发布时间: 2010-01-30

如果那么容易的话,我就不来问了~~~

作者: supakito   发布时间: 2010-01-30

那你匹配当前区域的所有的p和hr,在得到的对象中去掉hr和hr后面的不就好了???
给你个例子吧
复制代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.   <head>
  5.     <title></title>
  6.   </head>
  7.   <body>
  8.     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type=
  9.     "text/javascript">
  10. </script>
  11.     <p>
  12.       1
  13.     </p>
  14.     <p>
  15.       2
  16.     </p>
  17.     <hr />
  18.     <p>
  19.       3
  20.     </p><a href="#">run</a> <script type="text/javascript">
  21. //<![CDATA[
  22.         $(document).ready(function(){
  23.                 $('a').click(function(){
  24.                         var target = [] ;
  25.                         $.each($('p,hr'),function(i,n){
  26.                                 if($(n).is('hr')){      
  27.                                         return false;
  28.                                 }else{
  29.                                         target.push(n);
  30.                                 }
  31.                         });
  32.                         $(target).css('background','red');
  33.                 });
  34.         });
  35.     //]]>
  36.     </script>
  37.   </body>
  38. </html>

作者: ywqbestever   发布时间: 2010-01-30

$("p").find("hr").prev()

作者: 00120928   发布时间: 2010-03-25

难道是这样?

$("hr").prevAll("p")

作者: caofackri   发布时间: 2010-03-25

热门下载

更多