Получить значение href предыдущего привязки HTML, <a>, используя jQuery - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь получить значение href, равное , которое является предыдущим элементом моей текущей кнопки, на которую нажали. Как мне это получить?

Вот мой код.

HTML:

<a href="#activityNotes[0].noteText">
    <input value="Add Another" name="addAnotherNote" type="submit" class="addAnother secondary" onclick="addAnotherNote();"/>
</a>

JQuery:

$(".addAnother").click(function() {
    var jump = $(this).prev("a").attr("href");
});

Когда я пытаюсь запустить это, я получаю

значение прыжка не определено.

Почему это происходит? Это потому, что я пытаюсь поставить якорь с # впереди?

http://jsfiddle.net/5Twfc/2/

На самом деле я пытаюсь перевести экран в якорную секцию с помощью name/id = activityNotes[0].noteText, когда нажимаю кнопку добавления. Вот почему у меня есть эта кнопка ввода внутри . Кроме того, я выполняю отправку формы после запуска нескольких скриптов.

$(".addAnother").click(function() {
    var jump = $(this).parent().attr("href");
    var new_position = $('#'+jump).offset();
    window.scrollTo(new_position.left,new_position.top);
    return false;
});

Ответы [ 4 ]

2 голосов
/ 20 марта 2012

Ваш a включает input. prev получает предыдущего брата. В этом случае вам нужно получить родителя. Вот что будет работать на основе вашего jsFiddle:

$(".addAnother").click(function() {
    var jump = $(this).parent().attr('href');
    $('#printJumpValue').text('' + jump);
})

и живой пример:

0 голосов
/ 20 марта 2012

Это потому, что это указывает на вход. Чтобы получить привязку, либо переместите класс к нему, либо используйте следующее:

$(this).parent().prev("a").attr("href")
0 голосов
/ 20 марта 2012

Функция prev возвращает предыдущего родного брата . Вы хотите родительский элемент:

$(this).parent().attr("href");
0 голосов
/ 20 марта 2012

Чтобы получить значение href, попробуйте использовать это

    $('a').attr('href');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...