在jQuery中查找特定元素's.每个函数并用它做些什么
Find specific element in jQuery's .each function and do something with it
这是我的标记:
<ul class="tab1">
<li><a href="http://site.com/some.html?param=1"></li>
<li><a href="http://site.com/some.html?param=2"></li>
<li><a href="http://site.com/some.html?param=3"></li>
...
</ul>
我试图比较当前window.location是否与任何列表锚匹配,如果为true,那么我想做一些类似addClass('active')的操作。
我的代码用于检查浏览器的当前位置并从列表元素中获取href参数:
// get current url parameter
var getBrowserUrl = document.URL.split('?')[1];
// get parameters of all the <li> anchors
jQuery('.tab1 a').each(function(){
var getElementUrl = jQuery(this).attr('href').split('?')[1];
if (getBrowserUrl == getElementUrl ) {
jQuery(this).addClass('active');
}
});
jQuery(this)位显然不起作用,因为"this"将引用所有列表元素。
如何指定匹配的列表元素?
我已经测试了您的代码,并进行了一些修改,尝试如下:
<ul class="tab1">
<li><a href="http://site.com/some.html?param=1"/></li>
<li><a href="http://site.com/some.html?param=2"/></li>
<li><a href="http://site.com/some.html?param=3" /></li>
</ul>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(function () {
// get current url parameter
var getBrowserUrl = document.URL.split('?')[1];
// get parameters of all the <li> anchors
$('.tab1 a').each(function () {
var getElementUrl = $(this).attr('href').split('?')[1];
if (getBrowserUrl == getElementUrl) {
$(this).addClass('active');
}
});
});
</script>
如果您想更好地控制正在迭代的项目,请将其添加到.each
函数中:
.each(function(index, value) { ... }
这样,价值就是你想要找到的元素。
相关文章:
- 更改URL后做些什么
- 检查是否有匹配的类名,然后做些什么
- 当我单击标记而不是删除它时,我应该做些什么来创建自定义菜单
- 我在 MAP 初始化时创建了一个默认标记,但标记没有显示内容?我能为它做些什么
- 客户端,我能做些什么来检查是否有人在入侵我的网站
- 简单的SSL-我需要做些什么来制作我的ajax'd登录SSL安全
- 对单选按钮选择更改AngularJS做些什么
- 在jQuery中查找特定元素's.每个函数并用它做些什么
- 我需要做些什么才能让它显示所有的用户输入/选择
- 我可以做些什么来让我网站上的Javascript代码与Firefox一起工作
- javascript杀死了我的另一个脚本.我能做些什么来隔离它
- 在通过JavaScript将JSON数据插入页面之前,应该对其做些什么?
- 第一个更大的javascript / jquery网站即将完成-上线前要做些什么
- 我需要做些什么才能让账户进入我的流星项目工作
- 为了传递关于JavaScript函数作用域的教程,我必须对变量count做些什么?
- 上面的代码在chrome和firefox上都运行良好.但在IE中这不会给保存弹出框!我应该做些什么来支持这些代码?
- 如果我们希望PHP中的数据保存在同一个文件中,我们能做些什么来代替javascript中的ajax调用呢?
- 我能做些什么来阻止由这段代码引起的轻微页面延迟吗?
- 按顺序找到特殊的标记,并对中间的文本做些什么
- 当手表被“毁坏”时,我需要做些什么来清理它们吗?