2012-12-19 47 views
3

給我有我的網頁獲取的DOM模型

input 
input 
span 
input 
span 
etc 

我要選擇的每每個跨度之前,坐在輸入,並做之後,無論我將不得不在元素列表上一個元素。有沒有什麼可行的方法來做到這一點?

回答

6

使用prev()選擇任何給定跨度的前一個輸入:

$(this).prev("input"); 

如果您嘗試選擇1個選擇器中所有跨度的所有先前輸入,請嘗試此操作:

​$("span").prev("input"); 

http://jsfiddle.net/6hPRa/1/

$("span").prev("input").css("background-color", "pink");​ 
+0

謝謝,這正是我所需要的。但有沒有簡單的方法來做到這一點,我的DOM中的每個跨度? –

+0

'$(「span」).prev(「input」)'應該選擇DOM上的所有'span'元素,然後選擇他們以前的所有'input'元素 – hunter

2

使用.parent()或。家長( '選擇')。第()

jQuery('.given').parent(); 

或不jQuery的

var el = document.getElementById('id'); 
el.parentNode... 

啊,以前的元素... 好,現在你有一個答案。 另外還有一個方法

.siblings() 

如果你想上一個,上一個元素就這樣

jQuery('.given').prev().prev(); 
5

你必須使用.prev()

例如:

$('span').prev("input") //this is input element 
1

這不是那麼容易界定哪一個應該是第一,我建議去爲每個人設置tabindex,然後將其作爲sele使用你可以隨時輕鬆地抓住前一個或下一個