Jquery:如何在特定表行的所有链接中进行迭代
假设这是我的桌子Jquery:如何在特定表行的所有链接中进行迭代,jquery,Jquery,假设这是我的桌子 <table border="1" id="tbl"> <tr class="clsHead"> <td> <a href="b.aspx">first row first cell</a> </td> <td> <a href="b.aspx">first row second
<table border="1" id="tbl">
<tr class="clsHead">
<td>
<a href="b.aspx">first row first cell</a>
</td>
<td>
<a href="b.aspx">first row second cell</a>
</td>
</tr>
<tr>
<td colspan="2">
<a href="">seconde row</a>
</td>
</tr>
</table>
如果可能的话,告诉我是哪里出的错。谢谢您正在尝试获取/设置每个
.clsHead
元素的href
属性,因为它们没有href
属性,所以显然无法工作
您需要选择子体a
元素:
$(".clsHead a").each(function() {
$(this).attr('href', $(this).attr('href') + '&qString=1');
});
虽然只访问this
的href
属性要短一些:
$(".clsHead a").each(function() {
this.href = this.href + '&qString=1';
});
或者不使用jQuery:
var elements = document.querySelectorAll('.clsHead a');
Array.prototype.forEach.call(elements, function (el) {
el.href = el.href + '&qString=1';
});
您可能需要将该逻辑包装到DOM加载的事件回调中:
document.addEventListener('DOMContentLoaded', function() {
var elements = document.querySelectorAll('.clsHead a');
Array.prototype.forEach.call(elements, function(el) {
el.href = el.href + '&qString=1';
});
});
试试这个
$(document).ready(function (){
$(".clsHead a").each(function ()
{
alert($(this).attr('href'));
$(this).attr('href',$(this).attr('href')+'&qString=1') ;
});
});
$(document).ready(function (){
$(".clsHead a").each(function ()
{
alert($(this).attr('href'));
$(this).attr('href',$(this).attr('href')+'&qString=1') ;
});
});