Вопрос

У меня проблемы с прохождением из закладки имеет тег в jQuery. В частности, следующий HTML:

<a id="comment-1"></a> 
<div class="comment"> 
<h2 class="title"><a href="#comment-1">1st Post</a></h2> 
  <div class="content">
    <p>this is 1st reply to the original post</p> 
  </div> 
  <div class="test">1st post second line</div>
  </div>

Я пытаюсь пройти туда, где класс = «название», если на странице приземлится с закладкой HASHTAG в URL (Site.com/test.html#Comment-1). Ниже приведен мой код, который я использую для тестирования:

if(window.location.hash) {
alert ($(window.location.hash).nextAll().html());
}

Он выполняет хорошо, и возвращает соответствующий HTML (<h2 class="title"><a href="#co...)

Проблема в том, что если я добавляю селектор к нему ($(window.location.hash).next('.title').html() ) Я получаю нулевой результат. Почему это так? Nextill не является правильной функцией прохождения? (Я также попробовал следующий + Найти безрезультатно)

Спасибо!

Это было полезно?

Решение

То $('#comment-1') Селектор выбирает <a> элемент. То next Метод смотрит на следующий серый узел этого элемента. Такого узла нет класса «Название», поэтому вы получаете пустой результат. В вашем примере единственный родной узел <a> это div с классом = "комментарий". Найти <h2 class="title"> Элемент, вы можете использовать, например:

$(window.location.hash).next().children('.title')

Другие советы

Для этого есть плагин jQuery: http://github.com/shanbady/jquery-ajaxbookmarkmable

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top