我们如何修改“three "使用jquery计数器
How can we modify "href" using jquery counter?
我有一个包含一些链接的网页。
<div class="accordion-list">
<ul class="accordion">
<li class="accordion-item">
<a href="#" class="accordion-link">Heading 1</a>
<ul class="sub-list">
<li><a href="xyz.com">Registrations</a></li>
<li><a href="xyz.com" >Contacts</a></li>
<li><a href="xyz.com" >Mortgages</a></li>
</ul>
</li>
<li class="accordion-item">
<a href="#" class="accordion-link">Heading 2</a>
<ul class="sub-list">
<li><a href="abc.com">Registrations</a></li>
<li><a href="abc.com" >Contacts</a></li>
<li><a href="abc.com" >Mortgages</a></li>
</ul>
</li>
</ul>
</div>
期望输出
<div class="accordion-list">
<ul class="accordion">
<li class="accordion-item">
<a href="#" class="accordion-link">Heading 1</a>
<ul class="sub-list">
<li><a href="xyz.com#item1">Registrations</a></li>
<li><a href="xyz.com#item2" >Contacts</a></li>
<li><a href="xyz.com#item3" >Mortgages</a></li>
</ul>
</li>
<li class="accordion-item">
<a href="#" class="accordion-link">Heading 2</a>
<ul class="sub-list">
<li><a href="abc.com#item1">Registrations</a></li>
<li><a href="abc.com#item2" >Contacts</a></li>
<li><a href="abc.com#item3" >Mortgages</a></li>
</ul>
</li>
</ul>
</div>
i tried
$(".sub-list a").each(function() {
var _href = $(this).attr("href");
$(this).attr("href", _href + ???);
});
谁能告诉我怎样才能得到想要的输出?
示例:http://codepen.io/anon/pen/zlkLt/
$(".sub-list").each(function() {
var links = $(this).find('a');
links.each(function(i) {
var _href = $(this).attr('href');
$(this).attr("href", _href + "#item" + (i + 1));
});
});
(你可以通过js控制台看到更新后的href)
试试这个:
var num = 0;
$(".sub-list a").each(function() {
var _href = $(this).attr("href");
$(this).attr("href", _href + "#item"+ ++num);
if (num == 3){
num = 0;
}
});
JsFiddle
这基本上在each
之外创建了一个变量,然后对于每个链接,它向上增加1
位。当到达3
时,复位并返回0
。
更新jQuery
jQuery。每个还将索引传递给回调方法。
$(".sub-list a").each(function(i) {
var _href = $(this).attr("href");
$(this).attr("href", _href + '#item' + (i+1) ); // i starts from 0
});
这将用
更新所有的href<li><a href="xyz.com#item1">Registrations</a></li>
<li><a href="xyz.com#item2" >Contacts</a></li>
<li><a href="xyz.com#item3" >Mortgages</a></li>
<li><a href="abc.com#item4">Registrations</a></li>
<li><a href="abc.com#item5" >Contacts</a></li>
<li><a href="abc.com#item6" >Mortgages</a></li>
但这不是你所期望的。你将不得不使用选择器,这将给所有的href在第一,然后在第二。试试。
use
$(".sub-list").find("a").each(function(){
$(this).attr("href",$(this).attr("href")+"item"+($(this).parent().index()+1));
});
请尝试一下。
$(".sub-list").each(function(index, element){
$(element).find('li a').each(function(i, element){
var href_val = $(this).attr('href');
$(this).attr('href', href_val+"#item"+i);
});
});
相关文章:
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- 得到"未定义不是函数“;使用显示原型图案时出错
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 是否可以使用动作=“;someFunction()"提交表格时
- 使用javascript"这个“;用于jquery选择器
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- "无法获取/null”;当使用nodejs运行服务器时
- "未捕获的语法错误:意外的标记<"当尝试使用谷歌'核心报告API
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 尝试过滤“;引号"基于'"类别“;使用流星&mongo
- 强制URL字段不具有“;http://www."使用regex
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 为什么我得到“;没有方法'indexOf'"在ExtJS4.2中尝试在网格上使用缓冲渲染器时出错
- 可以't删除“;C: fakepath "使用javascript替换和regex
- 如何删除“"使用javascript从字符串中提取字符
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- 我收到一个类型错误,其中包含-"$不是函数“;使用noConflict时
- 如何在“;beforeSend:function()"使用ajax和jquery