2011-04-04 97 views
1

我希望人们看到我网站上的最新评论,当他们点击它浏览到一个具体的审查,如何直接从一个链接

应该把他们在审查书面业务页面但是该页面也应该向下滚动到审核所在的位置。

我在想,如果我给每个具有类名称中的评论ID的div使用不同的类名称,这可能是可能的吗? (我需要给他们相同的ID来应用格式与CSS)。

更具体地说,我怎么用jQuery做直来直去的DOM review_XXX(XXX为审查ID)

回答

1

我会使用的name属性定位标记并将name属性的值添加到url。

所以某处您的网页上您的评论的标题会是这样

<h2 name="current_item">...</h2> 

以及您的网址看起来像:

http://somehost.com/somepage/structure.html#current_item 
3

你不需要jQuery的这一点。只要给的链接有#前缀后跟元素的ID A HREF想跳转到,例如:

<a href="#foo">Foo</a> 
... 
<div id="foo">This is the div to jump to</div> 

"anchors with the ID attribute" in the W3C HTML Specification.

有趣的节选从上述网站:

使用ID或名称?作者应该 考虑以下问题时 决定是否使用ID或名称 锚名称:

  • id属性可以为不仅仅是一个锚的名称(例如, 样式表选择,加工
    更多行动 标识符等)。
  • 某些较早的用户代理不支持使用ID为 属性创建的锚。
  • name属性允许使用更丰富的锚名(带有实体)。

另见(对于HTML5):

+0

事情是我用相同的ID为每个评审在同页面,因此每个评论都包含在ID为“review”的div中。 我想我必须使用下面提到的:name属性。 – 2011-04-04 14:25:36

+0

@ndefontenay - 重复的ID在HTML文档中无效。你不会得到像我发布的简单HTML解决方案,也不能使用JavaScript/jQuery。首先解决伪装ID。检查此:http://www.w3.org/TR/html40/struct/global.html#h-7.5.2 – karim79 2011-04-04 14:29:41

0

假设您的评论 “ID” 的值是真的唯一标识符(否则他们可能不应该叫“ID “值),可以将它们作为”id“值给予相关元素:

<div id='review_42097'> 
    that movie sucked 
</div> 

然后,您可以将“#review_42097”放在网址的末尾!

<a href='http://my.reviews.com/latest/reviews.php#review_42097'>Click to read reviews!</a> 
+0

我使用mod_rewrite为我的网站,所以我将有一个url,看起来像这样: http:///my.reviews.com/en/region/country/city/business/business_name/ 我可以在最后添加#review_42097吗? http://my.reviews.com/en/region/country/city/business/business_name/#review_42097 – 2011-04-04 14:21:22

0

这些ID是RESTful URL方案的一部分吗?例如:

http://yoursite.com/reviews/123456 

很可能你不需要jQuery来为此生成一个链接。

如果你不只是链接到页面,则可以将ID存储在元素上的数据属性和访问它做你的逻辑:

<div id="myElement" data-review-id="123456"></div> 

var id = $('#myElement').data('review-id'); 

// do other logic