Получить информацию об элементе, вызвавшем функцию с помощью jQuery - PullRequest
4 голосов
/ 26 сентября 2011

Мне было интересно, как мне найти jQuery, идентификатор элемента, который вызвал метод onClick? мой код:

JS

function getInfo(event)
{
    console.log(event.target.id + " ... ");
}

HTML

<div class="menu-content" id="thisismyid">
    This is some placeholder text.<br>
    <a onClick="getInfo()" id="thisisthelinksid">Click on me</a>
</div>

<div class="menu-content" id="thisismysecondid">
    This is some more placeholder text.<br>
    <a onClick="getInfo()" id="thisistheotherlinksid">Click on me</a>
</div>

Я не могу поместить что-либо в скобки функции, потому что я хочу, чтобы функция была передана ей позже, я просто хочу знать, кто вызвал эту функцию.

Я знаю, что это задавали много раз, и на многие вопросы есть ответы, но я прочитал многие из них, и ни один из них не помог мне.

Спасибо, ребята

-EDIT-

Что касается ответов ниже во время этого редактирования, я не могу использовать метод jQuery, такой как:

$("div.menu-content a").click(function() {
    some content here..
});

потому что мне нужно, чтобы он запускался только при нажатии определенных ссылок, а не на все из них. Это помогает уточнить?

Ответы [ 3 ]

5 голосов
/ 26 сентября 2011
$("div.menu-content a").click(function() {
    var $elemId = $(this).attr("id");
    console.log($elemId + " .... ");
);

Это гораздо более "jQuery стиль" решение, чтобы сделать это.

2 голосов
/ 26 сентября 2011

Попробуйте:

function getInfo(event)
{
    var id = $(event.target).attr('id');
    console.log(id);
}
1 голос
/ 26 сентября 2011

Не используйте атрибуты onclick, вместо этого используйте обработчики событий.

$(function(){
   $('a', 'div.menu-content').click(function(){
      console.log(this.id+'...');
   });
}):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...