使用asp:Repeater
控件生成了以下内容(因此有重复的ID):
<span id="lblLocation1">
<a href="/office.aspx?id=87">400 Westchester Avenue</a>,
<a href="/office.aspx?id=89">56 Theall Road</a>,
<a title="" href="/WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1606">73 Market Street</a>,
<a title="" href="/WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1947">98 Huguenot Street</a>
</span>
<br />
<br />
<span id="lblLocation1">
<a href="/office.aspx?id=87">400 Westchester Avenue</a>,
<a href="/office.aspx?id=89">56 Theall Road</a>,
<a title="" href="/WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1606">73 Market Street</a>,
<a title="" href="/WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1947">98 Huguenot Street</a>
</span>
<br />
<br />
<span id="lblLocation1">
<a href="/office.aspx?id=87">400 Westchester Avenue</a>,
<a href="/office.aspx?id=89">56 Theall Road</a>,
<a title="" href="/WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1606">73 Market Street</a>,
<a title="" href="/WorkArea/linkit.aspx?LinkIdentifier=id&ItemID=1947">98 Huguenot Street</a>
</span>
小提琴:http://jsfiddle.net/s7LkoqdL/2/
结果应该是遍历
lblLocation1
范围内的每个锚点,并检查其是否符合条件并更新链接文本。发生的是,它同时显示带有该变量的多个条目。
如何修改查询,使其遍历范围内的每个链接,并根据其是否符合条件进行更新,然后转到下一个链接,然后再转到下一个,依此类推...
注意:
span
条目越多,每个链接的乘积就越大。 最佳答案
我不会重写整个小提琴,因为它很乱。
您可以使用$('.pS span a').text(function)
处理实例。 callback的第一个参数是元素索引,第二个参数是现有文本。仅根据条件return
新文本
$('.pS span a').text(function (index, oldText) {
if (oldText.indexOf("Theall") >-1) {
return oldText + vCityState[4];
}else if (oldText.indexOf("98") >-1) {
return oldText + vCityState[2];
}
});
我建议您创建一个对象数组,可以在每个实例中循环通过这些对象,以简化手动创建所有
if
条件的过程:DEMO