调用具有nodelist特定索引值的函数

时间:2012-04-14 10:45:38

标签: javascript jquery

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

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

我想要的是我在txtElem nodelist中存储分区列表现在我想调用存储在nodelist中的第3个div的click事件上的函数。这些分区是动态创建的,它们没有任何ID,因此id无法访问它们。

2 个答案:

答案 0 :(得分:1)

这个问题很不清楚。看到j​​Query标签,我想到了这些:

使用.eq()

在指定索引上调用jQuery函数的方法
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,一个类似数组的对象"。

答案 1 :(得分: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])直接调用特定元素的函数; - 当然,直到你没有超过计数。