2011-08-11 10 views
0

私は2つの要素の間に配置するか、2つの要素の間のスペースを埋めるために使用するハンドラを持っているとしましょう。だから私の質問は、両方の要素idまたはハンドラの両側に隣接しているクラスを取得する方法です。隣接する要素のidを取得する方法

例:

#horizontal_handler { width:100%; height:5px; background:url('../pick.png') } 
#vertical_handler { width:5px; height:100%; background:url('../pick.png') } 

ここで私は2つのハンドラを持っていると私はどれだけ私はこれらのdiv要素の両方のIDを取得することができ、ここで2つのdiv要素との間に配置しています。

<div id="top"></div> 
<div id="horizontal_handler"></div> 
<div id="bottom"> </div> 

期待される結果があるべきである:上部、底

<div id="left"></div> 
<div id="vertical_handler"></div> 
<div id="right"> </div> 

期待される結果は次のようになります左、右

答えて

0
$('#vartical_handler').prev().attr('id'); 
$('#vartical_handler').next().attr('id'); 

REUSABLE F慰め:

function adjacentElementId(ref) { 
    var arr = new Array; 
    arr.push({ 
     'prevId': $(ref).prev().attr('id'), 
     'nextId': $(ref).next().attr('id') 
    }); 
    return arr; 
} 
var arrId = adjacentElementId('#vertical_handler').pop(); // Here you have just send the jquery reference. e.g. `'#vertical_handler'` here 
console.log(arrId.prevId); 
console.log(arrId.nextId); 
0

あなたはjqueryのAPIページで.INDEX()エントリを参照することができます:http://api.jquery.com/index/

ソリューションは、次のようになります。

var i = $('#vertical_handler').index(); 
$('div').get(i - 1).attr('id'); 
$('div').get(i + 1).attr('id'); 
関連する問題