我试图从一群人手里抢到三根棍子.标签:解释我哪里做错了
My attempt to grab the hrefs from a bunch of <a> tags: Explain where I'm going wrong
来自tbody
元素
<tbody id="results">
<tr>
<td><input type="checkbox"><a href="/../../Assets/Microsoft-Azure-roman_column.png">/../../Assets/Microsoft-Azure-roman_column.png</a></td>
<td>Microsoft</td>
<td>Azure</td>
<td>roman_column.png</td>
</tr>
<tr>
<td><input type="checkbox"><a href="/../../Assets/Microsoft-Azure-runphp.cmd">/../../Assets/Microsoft-Azure-runphp.cmd</a></td>
<td>Microsoft</td>
<td>Azure</td>
<td>runphp.cmd</td>
</tr>
<tr>
<td><input type="checkbox"><a href="/../../Assets/Microsoft-Azure-runphp.cmd">/../../Assets/Microsoft-Azure-runphp.cmd</a></td>
<td>Microsoft</td>
<td>Azure</td>
<td>runphp.cmd</td>
</tr>
<tr>
<td><input type="checkbox"><a href="/../../Assets/Microsoft-Azure-Picture1.png">/../../Assets/Microsoft-Azure-Picture1.png</a></td>
<td>Microsoft</td>
<td>Azure</td>
<td>Picture1.png</td>
</tr>
<tr>
<td><input type="checkbox"><a href="/../../Assets/Microsoft-Azure-vertical-align-scrnsht.png">/../../Assets/Microsoft-Azure-vertical-align-scrnsht.png</a></td>
<td>Microsoft</td>
<td>Azure</td>
<td>vertical-align-scrnsht.png</td>
</tr>
<tr>
<td><input type="checkbox"><a href="/../../Assets/Microsoft-Azure-vertical-align-scrnsht.png">/../../Assets/Microsoft-Azure-vertical-align-scrnsht.png</a></td>
<td>Microsoft</td>
<td>Azure</td>
<td>vertical-align-scrnsht.png</td>
</tr>
</tbody>
我的过程试图抓取href
s并将它们粘贴到一个名为links
的数组中:
var resultRows = $('#results > tr > td > a');
for (var thisAnchor in resultRows) links.push($(this).attr('href'));
for (var thisLink in links) console.log(thisLink); // test
但是这个测试正在记录
0
1
.
.
.
171
172
到控制台,而不是预期的
/../../Assets/Microsoft-Azure-roman_column.png
/../../Assets/Microsoft-Azure-runphp.cmd
/../../Assets/Microsoft-Azure-runphp.cmd
/../../Assets/Microsoft-Azure-Picture1.png
/../../Assets/Microsoft-Azure-vertical-align-scrnsht.png
/../../Assets/Microsoft-Azure-vertical-align-scrnsht.png
这是为什么,我如何解决它?
您可以使用jQuery .each,像这样:
$('tr').each(function() {
var href = $(this).find('a').attr('href');
links.push(href);
console.log(href);
});
首先,您的HTML无效。您有一个未关闭的input
标签。
接下来你的tbody
需要被table
标签包裹
然后,如果您正在寻找hrefs
的数组,您应该使用jQquery。地图功能。
下面是一个工作示例:https://jsfiddle.net/p6h7o32m/
首先,您的选择器没有生成任何元素,因此更改为
$('#results [href]')
第二,使用.each
代替for循环
$('#results [href]').each(function(){
links.push($(this).attr('href'));
});
最后,修改
for (var thisLink in links) console.log(thisLink);
for (var thisLink in links) console.log(links[thisLink]);
当你在javascript中迭代foreach循环时,比如
for(var key in collection)
key,在这里是实际的键或索引因为数组
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- iframe正在添加标签,需要删除它们
- 显示浏览量最高的三篇文章
- 如何使用PHP和JS级联三个下拉列表
- 灯光问题(使用三个.js)
- 如何自动调整标签的高度以适应内容
- Jquery标签插件粘贴问题
- Twitter引导程序Typeahead-Id&标签
- 指令的模板必须只有一个根元素:With restrict E&替换true
- Jquery移除或更改JSON根元素
- 如何将数据库中的 html 标签注入到我的指令的模板中,实际上是动态定义模板的根元素/标签
- 标签ID和根URL是否会从Google Chrome扩展的内容脚本中更改
- 在D3.js中为三维饼图添加标签
- 获得“id"仅前三个标签中的值并用","分隔它们在输出
- Jquery -调用第三个标签
- 角.删除根标签上的属性
- 我想通过计算每个输入标签中的三个输入内容来相互反映
- 我试图从一群人手里抢到三根棍子.标签:解释我哪里做错了