Подтвердить что ты не робот

JQuery - Как получить атрибут элемента при использовании события 'click'

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

Я хотел бы узнать, какая из ссылок была нажата (у меня есть атрибут "setid" для каждой ссылки), а также получить точку, в которую была нажата мышь.

Как это можно сделать?

пример кода:

<a href="#" class="newItem" setid="28">click me</a>

$('.newItem').click(function (e) {
    alert(e.attr('setid'));
});

EDIT: ОК, поэтому, чтобы получить позицию, я бы использовал e.pageX

4b9b3361

Ответ 1

Чтобы использовать методы jQuery, вы должны обернуть этот вызовом jQuery.

$('.newItem').click(function () {
    alert($(this).attr('setid'));
});

Ответ 2

Как сказал Skylar в комментарии к вашему вопросу, вы можете использовать "data-" перед своим новым атрибутом (который является HTML5 действительным).

<a href="#" class="newItem" data-setid="28">click me</a>

Затем в jQuery (v1.4.3 +) вы можете получить его как:

var setid = $(this).data("foo");

Это даже немного лучше, чем attr(), о котором говорили другие люди. См. Это для большего количества примеров - http://www.broken-links.com/2010/11/18/data-attributes-in-html-and-jquery/

Ответ 3

обратитесь к приведенному ниже коду:

document.getElementById("element_id").addEventListener("click",function(e)
{
 console.log(e.srcElement.getAttribute("data-name"));
},false);

Ответ 4

Вы на правильном пути.

$(function(){

    $('.newItem').click(function () {
        alert( $(this).attr('setid') );
    })
}); 

Ответ 5

Ваш код почти прав, чтобы получить атрибут. Единственное, чего не хватает, это обернуть this (элемент DOM) в оболочку jQuery, чтобы вы могли использовать функции jQuery. $(this).attr('setid') должен работать.

Чтобы получить координаты страницы, используйте свойства pageX и pageY объекта события. Итак:

$('.newItem').click(function (e) { // e is the event object
    alert($(this).attr('setid'));
    alert(e.pageX);
    alert(e.pageY);
});

См. документацию по Объекту события.