我想从我为在线课程设置的菜单中提取每个锚标签链接
用户界面id是#侧边栏
侧边栏中的li在正确的章节顺序中,所以我想找到用户在哪个章节页面上,然后抓取前一章和下一章,以传递到每个章节底部的其他一些锚标记。
这就是我所走的路。
for(var i = 0; i < $("#sidebar ul li").size(); i++) {
console.log('chapter '+i+' = ',$("#sidebar ul li").get(i))
}这将返回每个li元素,那么现在如何获取返回的每个li中的a href值?
我试着把.a放在最后,不起作用。在谷歌上也找不到太多。
谢谢
发布于 2013-02-26 13:14:56
试试这个:
var $sidelist = $("#sidebar ul li").size();
for (var i = 0; i < $sidelist; i++) {
console.log('chapter ' + Math.floor(i + 1) + ' = ', $("#sidebar ul li").find('a').eq(i).attr('href'));
}上面的输出是:
//this is the output of for loop:
chapter 1 = #chaper-1
chapter 2 = #chaper-2
chapter 3 = #chaper-3或使用$.each()
var $sidelist = $("#sidebar ul li");
$.each($sidelist, function(i, v){
console.log('chapter '+Math.floor(i + 1)+' = ' + $(this).find('a').attr('href'));
});注意:
您必须对start the chapter with index 1 otherwise this will start at 0执行此Math.floor(i + 1)操作。
发布于 2013-02-26 13:26:27
从性能角度来看,在循环外只运行选择器一次是很重要的。
var links = $("#sidebar ul li a"); // equivalent to $("#sidebar ul li").find('a')
for(i = 0, length = links.length; i < length; ++i){
console.log('chapter '+ i + ' = ' + $(links[i]).attr('href'));
}发布于 2013-02-26 13:19:40
使用FIND (),
for(var i = 0; i < $("#sidebar ul li").size(); i++) {
console.log('chapter'+ i +' = ',$("#sidebar ul li").find('a').eq(i).attr('href'));
}https://stackoverflow.com/questions/15081806
复制相似问题