Как я могу получить этот идентификатор с помощью jQuery?

<span data-itemkey="40e1eec6-f949-468e-8a25-ba97d0ec3fb2" class="word">
    <div class="additionalStyling green" id="2">Approval Process</div>
</span>

Я пробовал это, который возвращает undefined

 $(document).on("click", ".word", function (e) {
     var id = $(".word:first-child").attr("id");
 }
2
Arianule 14 Дек 2015 в 14:41

4 ответа

Лучший ответ

Измените это:

var id = $(".word:first-child").attr("id");

Кому:

var id = $(this).find("> div").first().attr("id");

Просто чтобы убедиться, я не копирую тот же самый:

var id = $(this).children().first().attr('id');
3
Praveen Kumar Purushothaman 14 Дек 2015 в 11:41

Поскольку в классе .word будет несколько элементов, $('.word') вернет набор элементов .

Использовать

$(this) // The element that is clicked
    .children() // Get all direct descendants
    .first() // Get first element from it
    .attr('id'); // Get the `id` attribute value
2
Tushar 14 Дек 2015 в 11:41

children принимает селектор, поэтому вы можете сократить приведенное выше, таким образом:

$(document).on("click", ".word", function (e) {
     var id = $(this).children(':first').attr('id');
 }
0
Liam 14 Дек 2015 в 11:52

Пытаться:

$(document).on("click", ".word", function (e) {
     var id = $(this).find('[id]').attr('id');
 });
0
madalinivascu 14 Дек 2015 в 12:04