是否可以在存储 div 的节点列表的特定索引值上调用函数,如下所示:
var txtElem = txtdiv.getElementsByTagName("div");
我想要的是我在 txtElem 节点列表中存储分区列表现在我想在节点列表中存储的第 3 个 div 的单击事件上调用一个函数。分区是动态创建的,它们没有任何 id,因此它们不能通过 id 访问。
是否可以在存储 div 的节点列表的特定索引值上调用函数,如下所示:
var txtElem = txtdiv.getElementsByTagName("div");
我想要的是我在 txtElem 节点列表中存储分区列表现在我想在节点列表中存储的第 3 个 div 的单击事件上调用一个函数。分区是动态创建的,它们没有任何 id,因此它们不能通过 id 访问。
这个问题很不清楚。看到 jQuery 标签,我想到了这些:
一种在指定索引上调用 jQuery 函数的方法.eq()
:
var n = 1; //the index you need
$(txtElem).eq(n).css('color', 'red');
获取 DOM 元素的简单 Javascript:
var n = 1; //the index you need
var elem = txtElem[n]; //elem will hold the DOM element
//call simple DOM methods on it:
var s = elem.innerHTML;
//you can also call jQuery functions on it:
$(elem).css('color', 'red');
顺便说一句txtElem
,它不是一个对象,它是一个NodeList
“类数组对象”。
根据您的要求,似乎可以这样做:
function toPseudoArray(nodeList) {
var ar = [];
for(var i in nodeList)
if(nodeList[i].nextSibling) // or for that case any other way to find if this is an element
ar.push(nodeList[i]);
return ar;
}
将您的 nodeList 传递给此函数,将其返回的内容用作包含您的元素且仅包含您的元素的数组。
顺便说一句,您可以简单地使用 my_fab_function(txtElem[0]); 直接在特定元素上调用函数。- 当然,直到你不超过计数。