【发布时间】:2014-11-25 19:47:10
【问题描述】:
我的任务包含几个步骤:
- 隐藏页面中的所有链接
- 检测具有等于当前页面 url 的 href 属性的链接元素
- 显示此元素的邻居
我使用的html是这样的:
<div class="alllinkswrap">
<a class="allproductsurls" href="blabla1.com">1</a>
<a class="allproductsurls" href="blabla2.com">2</a>
<a class="allproductsurls" href="blabla3.com">3</a>
<a class="allproductsurls" href="blabla4.com">4</a>
<a class="allproductsurls" href="blabla5.com">5</a>
</div>
我试图用display: none 隐藏所有链接元素,我只想显示当前链接顶部和底部的2 个链接。我使用的 jQuery 代码:
$(docment).ready(function(){
var thispageurl = window.location.href;
$(".alllinkswrap").children().each(function(){
if (this.href.indexOf(thispageurl))
{
$(this).next().show();
$(this).prev().show();
}
});
});
我猜这个错误出在$(this).next 的某个地方,等等。但对 jQuery 来说还是新手。你能发现问题吗?
【问题讨论】:
-
那么,如果当前站点是
blabla3.com,您想显示blabla2.com和blabla4.com? -
如果
window.location.href == this.href,.indexOf()将返回0;你的情况将是“假的”。 -
当然。例如,让我们这样吧
-
@George
window.location.href将始终是完整的 URL,以http://domain.com/path开头。所以indexOf永远不能返回 0。 -
@Barmar 但是这些锚标签的
href属性将是解析的URL,即:http://domain.com/blabla1.com(在这种情况下)?我误解了这个问题吗?
标签: javascript jquery html