Как получить первый дочерний идентификатор внутри div, используя JQuery - PullRequest
13 голосов
/ 08 марта 2010

Как получить первый дочерний идентификатор внутри div, используя JQuery.

Пример кода:

<div id='id1'>
    <a id='a1' />   
    <a id='a2' /> 
    <a id='a3' /> 
</div>

Я хочу получить идентификатор a1.

Я пытался $('#id1 a:first-child').html() получить текст. Как получить идентификатор?

Ответы [ 6 ]

24 голосов
/ 08 марта 2010
$("#id1:first-child").attr("id")
14 голосов
/ 30 октября 2012

Используйте это, чтобы получить первый элемент элемента id1:

    $("#id1").children(":first");
14 голосов
/ 08 марта 2010

Ниже ответа выберет первый элемент «a» под элементом с идентификатором - «id1» (согласно заданному вопросу)

$('#id1 a:first-child').attr('id')

Ниже кода будет выбран только первый Div с идентификатором - 'id1', поэтому он выберет этот div не дочерний элемент div (но это не так, как задано вопросом в ответе)

$('#id1:first-child').attr('id')
4 голосов
/ 30 октября 2012

Если вы хотите немедленного первого ребенка, вам нужно

$(element).first();

Если вы хотите конкретный первый элемент в dom от вашего элемента, используйте ниже

var spanElement = $(elementId).find(".redClass :first");
$(spanElement).addClass("yourClassHere");

Попробуйте: http://jsfiddle.net/vgGbc/2/

0 голосов
/ 16 сентября 2014

Чтобы прояснить ситуацию, это то, что нужно сделать, чтобы найти любой элемент в определенном элементе, к которому у вас уже есть доступ, в данном случае это элемент с id = 'e1':

<style>
  .c1{ border:2px solid red; padding: 12px; background: lightyellow }
  .c2{ border:2px solid green; padding: 12px; background: lightyellow }
  .c3{ border:2px solid blue; padding: 12px; background: lightyellow }
</style>

<div class='c1' id='e1'>
  <div class='c2' id='e2'>
    <div class='c3' id='e3'>text</div>
  </div>
</div>

Следующая строка get is you div e2:

var child2 = $('#e1').find(".c2");

Следующие строки дают вам div e3:

var child3   = $('#e1').find(".c3");
var child3_1 = $('#e1').find(".c2 :first");

Чтобы что-то изменить, вы должны использовать такие объекты:

$(child2).css('background-color','white');
$(child3).css('border','4px dotted pink');
$(child3_1).css('color','#ef2323');

Надеюсь, это понятно и полезно.

0 голосов
/ 08 марта 2010
$('#id1:first-child').attr('id')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...