我正在寻找在 JavaScript 中创建一个函数来操作项目列表。该列表是由 CMS 生成的,我只能使用 JavaScript 来影响它。
假设列表如下:
<ul id="someUniqueID">
<li class="genericClass" id="uniqueGeneratedID"><a href="link1.htm">Link</a></li>
<li class="genericClass" id="uniqueGeneratedID2"><a href="link2.htm">Link 2</a></li>
<li class="genericClass" id="uniqueGeneratedID3"><a href="link3.htm">So on and so forth</a></li>
</ul>
现在,我知道 JavaScript 提供了使用
document.getElementById('uniqueGeneratedID').onmouseover = doSomething();
function doSomething(){ //code here }
我想做的是获取所有这些 li 并为它们中的每一个分配一个 onmouseover 函数,而不具体标识每个 li 元素。
我一直是这样的
var x = document.getElementsByTagName('li');
var changeId = new Array();
for (var i = 0; i < x.length; i++)
{
var j = 0;
changeId[j] = x[i].id;
j++;
}
function mouseOver() {
for(var y = 0; i < x.length; y++){
document.getElementsById(changeId[y]).onmouseover = test(changeId[y]);
}
}
function test(storeContent){
document.getElementsById('storeContent').innerHTML = 'printing' + testId;
}
mouseOver();
当然,问题是这实际上并没有为 ID 生成任何类型的鼠标悬停事件。有没有一种方法可以动态分配所有 li 的 onmouseover 事件而无需生成
document.getElementsById('uniqueGeneratedID').onmouseover = doEvent();
document.getElementsById('uniqueGeneratedID2').onmouseover = doEvent();
ETC。?
感谢您的任何帮助或建议。