在jQuery中遍历Bookmark Hashtags(#bookmark)?

时间:2010-04-19 01:26:41

标签: jquery jquery-selectors traversal jquery-traversing

我无法从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>

我正试图遍历class =“title”的位置,如果页面登录了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())我得到一个空结果。为什么会这样?是nextAll不是正确的遍历功能? (我也试过下一个+发现无济于事)

谢谢!

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

$('#comment-1')选择器选择<a>元素。 next方法查看该元素的下一个兄弟节点。没有这样的节点有一个“标题”类,所以你得到一个空的结果。在您的示例中,<a>的唯一兄弟节点是class =“comment”的div。要查找<h2 class="title">元素,您可以使用例如:

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