1

是否可以在存储 div 的节点列表的特定索引值上调用函数,如下所示:

var txtElem = txtdiv.getElementsByTagName("div");

我想要的是我在 txtElem 节点列表中存储分区列表现在我想在节点列表中存储的第 3 个 div 的单击事件上调用一个函数。分区是动态创建的,它们没有任何 id,因此它们不能通过 id 访问。

4

2 回答 2

1

这个问题很不清楚。看到 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“类数组对象”。

于 2012-04-14T10:51:26.023 回答
1

根据您的要求,似乎可以这样做:

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]); 直接在特定元素上调用函数。- 当然,直到你不超过计数。

于 2012-04-14T10:58:29.627 回答