2012-05-29 195 views
0

我遇到了DOM問題。我試圖訪問某個特定元素的類。通過DOM訪問特定元素

HTML:

<span><span class="abc">*</span><label for="sometext"></label></span> 

我要訪問的<span>元素的class 'ABC',和我有<label>元素和我在一起。

這裏就是我想要做的事情:

var parent=$(label[0]).parent(); 
var class=$(parent[0]).childNodes[0].attr("class"); 

編輯:出現的前一個兄弟是一些文本節點!!不知道爲什麼

回答

2

如果你使用jQuery,您可以簡單地使用:

var classes = $(label[0]).prev().attr('class'); 

我建議不要命名您的'class'變量'class',因爲它是javascript中的保留字。

+0

不工作!..以前的兄弟姐妹是一個'文本'節點!..看不到如何 –

+0

如果是這樣的話,那麼分配標籤[0]出了問題,你能告訴我們你/你在哪裏分配該值?見:http://jsfiddle.net/Bs9A9/1/ – Aeolun

+0

嘿,我發現了錯誤。在某些情況下,佈局如下所示:  

1

就試試這個:

$('label') 
     .prev('span') // get the previous span of label 
     .attr('class'); // get class of the span. 

DEMO

$('label') 
     .siblings('span') // get the previous span of label 
     .first() 
     .attr('class'); // get class of the span 

DEMO

1

使用此:

var sibling = $('label').siblings('span').first(); 
var class = $(sibling).attr('class'); 
+0

他想找到兄弟姐妹的班級不是它的父母: 'var class = $(parent).find('span')。attr(「class」);'? – undefined