如何使用 jQuery 在 <li> 中引用 <a>
How to reference <a> within <li> with jQuery
我想用新的URL替换列表中的HREF
。
我有这样的东西:
<ul id="sidebarItems">
<li><a href="/PartBasicInfo/XX">Part Basic Info</a></li>
<li><a href="/SupplierContracts/XX">Supplier Contracts</a></li>
</ul>
我正在尝试这个(我知道有很多方法可以做到这一点),但没有任何运气。有什么想法吗?
function SetUrlParams() {
$("#sidebarItems > li > a").each(function (idx, a) {
a.attr("href", "MyURLOfChoice");
});
第二个参数是 DOM 元素,而不是 jQuery 元素,用 $(a)
包装a
function SetUrlParams() {
$("#sidebarItems > li > a").each(function(idx, a) {
$(a).attr("href", "MyURLOfChoice");
});
}
或者让jQuery完成这个简单的任务:
function SetUrlParams() {
$("#sidebarItems > li > a").each(function(idx, a) {
a.href = "MyURLOfChoice";
});
}
请注意,您可以使用 this
而不是 a
访问 DOM 元素。
试试这个,this
引用匹配集合中的每个锚元素。
function SetUrlParams() {
$("#sidebarItems > li > a").each(function(){
this.href = "MyURLOfChoice";
});
}
请注意,在您的代码中,a
引用 dom 元素,因此如果您想保留代码,则应在调用任何 jQuery 方法之前将其转换为 jQuery 对象。
$('#sidebaritems > li > a').each( function(){
this.href = newURL;
});
传递给
each
的函数中的第二个参数将是DOM元素,而不是jQuery对象。你需要使用$(a)
,或者只是$(this)
也可以工作。
我对此进行了测试,它在这里工作
$("#sidebarItems > li > a").each(function (idx, a) {
$(a).attr("href", "MyURLOfChoice");
});
看起来一个参数是一个 HtmlElement,而不是被 jquery 包装
相关文章:
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 获取对使用Tampermonkey使用javascript创建的元素的引用
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- 如何使用javascript var引用Mongo DB集合's字段
- 使用dc.js、d3.js和crossfilter引用错误
- 如何使用object.assign()从其他对象引用基本对象属性
- 如何在使用Ractive.extend()时引用DOM元素
- 使用WeakMaps在Javascript中创建常规弱引用
- 如何使用hasOne和sequelize.js引用两个表
- 如何使用角度事件处理程序引用输入元素的值
- 性能问题:存储对DOM元素的引用与使用选择器相比
- 在变量引用中使用函数参数
- 未捕获的引用错误使用带主干的下划线模板
- 当我在真正的存在引用中使用 appendChild (“
”) 时发生错误 - 没有事件在谷歌Chrome从SVG元素引用的使用标签
- 未捕获的引用错误使用外部脚本&jQuery移动
- 在窗口引用上使用JQuery
- 在jQuery插件中引用时使用哪个-$(obj)vs obj
- 使用对html元素的引用,使用Jquery添加Remove元素
- 未捕获的引用错误:使用字符串时未在单击时定义