2016-05-20 4 views
1

Я знаю, что это своего рода вопрос новичков, и вы много искали, но не решили мою проблему. У меня есть этот следующий HTMLПолучите содержимое диапазона нажатием кнопки

<div class="col-lg-12 opening"> 
<span class="openingHead col-lg-4 jobcode">Junior ASP.NET Developer</span> 
<a href="#"> 
    <span class="col-lg-1 pull-right text-right openingApply">Apply now</span> 
</a> 
</div> 

и следующие JS

<script> 
    $(document).ready(function(){ 
     $('.openingApply').click(function(){ 
      var jobcode=$(this).prevAll('.jobcode').text(); 
      console.log(jobcode); 
     }); 
    }); 
</script> 

Но это только журналы неопределенного .Could пожалуйста, помогите мне здесь. Я все еще изучаю jQuery.

ответ

1

Сначала вам необходимо указать родительский элемент, так как .jobcode является родным для своего родителя, а не для диапазона.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="col-lg-12 opening"> 
 
    <span class="openingHead col-lg-4 jobcode">Junior ASP.NET Developer</span> 
 
    <a href="#"> 
 
    <span class="col-lg-1 pull-right text-right openingApply">Apply now</span> 
 
    </a> 
 
</div> 
 
<script> 
 
    $(document).ready(function() { 
 
    $('.openingApply').click(function() { 
 
     var jobcode = $(this).parent().prevAll('.jobcode').text(); 
 
     console.log(jobcode); 
 
    }); 
 
    }); 
 
</script>

+1

Спасибо очень much.It worked.May я знаю, почему предыдущий должен быть применен на родителя, а не прямо к элементу? –

+0

@NithinKrishna: рад помочь :) –

+0

@NithinKrishna: согласно документу https://api.jquery.com/prevAll/ ___Получить всех предыдущих братьев и сестер каждого элемента в наборе согласованных элементов, необязательно отфильтровать селектором .___ , который только набирает элемент в брате и сестрах –

1

$(document).ready(function() { 
 
    $('.openingApply').click(function() { 
 
    var jobcode = $(this).closest('div').find('.jobcode').text(); 
 
    console.log(jobcode); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-lg-12 opening"> 
 
    <span class="openingHead col-lg-4 jobcode">Junior ASP.NET Developer</span> 
 
    <a href="#"> 
 
    <span class="col-lg-1 pull-right text-right openingApply">Apply now</span> 
 
    </a> 
 
</div>

  1. Вы должны получить родительский Div с помощью .closest()
  2. Используйте .find(), чтобы получить пролет

В своем коде вы ищет родного брата элемента с открытием класса, но он не имеет родственного брата

+1

Большое спасибо :) –

+0

счастливым кодирования :) – guradio