我如何将 attr 应用于我页面上的所有 href。 例如: 我有:
<ul>
<li><a href="mylink1">mytext1</a></li>
<li><a href="mylink2">mytext2</a></li>
<li><a href="mylink3">mytext3</a></li>
</ul>
我需要:
<ul>
<li><a href="javascript:myFunc(mylink1)">mytext1</a></li>
<li><a href="javascript:myFunc(mylink2)">mytext2</a></li>
<li><a href="javascript:myFunc(mylink3)">mytext3</a></li>
</ul>
我需要在不添加新 ID、类等的情况下执行此操作。使用 Js 和 jQuery。请帮忙! :)
最佳答案
像这样的东西应该可以工作:
$("ul li a").each(function(i, a) {
a = $(a);
a.attr('href', 'javascript:myFunc("' + a.attr('href') + '")');
});
注意:这将只应用于 ul
列表中的链接。要应用于整个页面中的所有 a
标记,请改用 $("a")...
。
此外,如果 href
属性包含某些字符,如 "
或 \
,此方法可能会失败。如果有这种可能,那么这更安全一些:
$("ul li a").each(function(i, a) {
a = $(a);
a.attr('href', 'javascript:myFunc(' + JSON.stringify(a.attr('href')) + ')');
});
关于javascript - 如何使用 jQuery 应用于所有 href attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20704389/