更改特定div中跨度的类名

时间:2017-03-21 15:44:55

标签: javascript jquery html

有多个div包含多个span,就像这样

<div class = "cw">
   <span class = "ci"></span>
   <span class = "d1"></span>
</div>

<div class = "cw">
   <span class = "ci"></span>
   <span class = "d2"></span>
</div>

我想创建一个jquery,以便我想从第一个div更改第一个span的类名。如何使用选择器更具体,以便我的jquery仅更改我的第一个span类。

条件是div类不能改变。

5 个答案:

答案 0 :(得分:0)

您可以使用:first / :eq(index)选择器

$('.cw:first .ci').doSomething()
$('.cw:eq(0) .ci').doSomething()

$('.cw:first .ci').addClass('red');
$('.cw:eq(1) .ci').addClass('blue');
.red {
  color: red
}

.blue {
  color: blue
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cw">
  <span class="ci">1</span>
  <span class="d1">2</span>
</div>

<div class="cw">
  <span class="ci">1</span>
  <span class="d2">2</span>
</div>

答案 1 :(得分:0)

使用:first选择器。

如果您想更改第二个元素,请使用:nth-child(2)'

$('.cw:first').find('span:first').text('first elem');
$('.cw:first').find('span:nth-child(2)').text('second elem');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cw">
  <span class="ci"></span>
  <span class="d1"></span>
</div>

<div class="cw">
  <span class="ci"></span>
  <span class="d2"></span>
</div>

答案 2 :(得分:0)

您可以先删除您不想要的课程:$("div:first span:first-child").removeClass("className");然后将新课程添加到同一元素中:$("div:first span:first-child").addClass("className");

答案 3 :(得分:0)

要更改第一个范围的类,请使用:first选择器或:eq选择器:

喜欢使用第一个选择器:

$('div.cw:first').find('span:first').addClass('new_class');

或使用eq选择器

$('.cw:eq(0)').find('span:eq(0)').addClass('new_class');

答案 4 :(得分:0)

你可以这样:

$('.cw:first').find('span:first').removeClass('ci').addClass('newClass');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1
/jquery.min.js"></script>
<div class="cw">
  <span class="ci">ci</span>
  <span class="d1">d1</span>
</div>

<div class="cw">
  <span class="ci">ci</span>
  <span class="d2">d2</span>
</div>