0

DOM に問題があります。<span>特定の要素のクラスにアクセスしようとしています。

HTML:

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

<span>要素のクラス「abc」にアクセスしたいのですが、<label>要素を持っています。

これが私がやったことです:

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

編集: の前の兄弟は、テキスト ノードのようです!!..理由がわかりません

4

4 に答える 4

2

jQuery を使用している場合は、次のように簡単に使用できます。

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

javascript の予約語であるため、「クラス」変数に「クラス」という名前を付けないことをお勧めします。

于 2012-05-29T11:28:15.973 に答える
1

これを試してみてください:

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

デモ

また

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

デモ

于 2012-05-29T11:23:18.633 に答える
1

これを使って:

var sibling = $('label').siblings('span').first();
var class = $(sibling).attr('class');
于 2012-05-29T11:24:27.850 に答える
1
$('label').siblings('span').attr('class');

http://jsfiddle.net/Cf9Qn/

于 2012-05-29T11:27:24.243 に答える