Получи этот JavaScript - PullRequest
       1

Получи этот JavaScript

0 голосов
/ 25 декабря 2011

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

function getText(){

alert($('this.a').text());

}

Я знаю, что вышеупомянутое не работает, б / к попробовал.

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

function getText(){

alert($('a').text());

}

, он возвращает ВСЕ текст внутри ВСЕХ тегов 'a' на моей странице.То, что я пытаюсь сделать, это просто вернуть только текст тега привязки, на который я нажал.Я думаю, что это как-то связано с использованием $ (this) вместе с тегом 'a', но я не могу понять это.

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

Ответы [ 4 ]

1 голос
/ 25 декабря 2011

Вы просто хотите $(this).text():

function getText() {
    alert($(this).text());
}

И, конечно, вы должны обрабатывать ваше событие так:

$('a').click(getText);
0 голосов
/ 25 декабря 2011

Вам как-то нужно привязать функцию к событию click.

function getText(){
    alert($(this).text()); // `this` is the element clicked
    return false; // prevent navigating
}

$("a").click(getText); // bind function to all <a> elements

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

0 голосов
/ 25 декабря 2011

Этого jQuery достаточно:

$('a').click(function () {
    alert($(this).text());
});

JSFiddle

0 голосов
/ 25 декабря 2011

Это то же самое, что и отдельная функция, как и во встроенной:

$("selector_for_the_anchors_in_question").click(clickHandler);

function clickHandler() {
    alert($(this).text());
}

jQuery гарантирует, что при вызове обработчика this устанавливается на элемент, для которого обработчики, конечно, чтобы получить оболочку jQuery для того элемента, который вы используете $() (или jQuery() в режиме noConflict).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...