我有一个运行 onload 的 javascript 函数。它按类查找锚标签,并根据标签中的数据添加 onclick 功能。我的问题是包含部分href的变量'h'。它将设置为此函数的最后一次评估。因此,如果 h 的最后一个值为“s-g123”,则页面上的所有链接都会将其作为插入链接的值。如何在运行时修复 h 的值,所以它是静态的?提前致谢。
// converts <a href='#g123' class="shoh"> to <a href='#g123' onclick=function() { shoh( 's-g123', 'show') }">
function managelinks() {
var elems = document.getElementsByTagName('*'), i;
var h, pos;
for (i = 0; i < elems.length; i++) {
if ((elems[i].className).indexOf('shoh') > -1) {
if ((pos = elems[i].href.indexOf('#')) > -1) {
h = "s-" + elems[i].href.substr(pos + 1);
elems[i].onclick = function () {
shoh(h, 'show')
};
}
}
}