也许这只是一个简单的错误,但这件事让我发疯了。 我想知道为什么这个jQuery行返回 -1 ?
$('td[class!="traco"]:last').index('td.diaNormal')
首先,当此函数返回负数时?为什么会这样? 提前谢谢大家,费尔南多。
编辑:
最有趣的是我的页面有我正在寻找的元素,而且 jQuery索引只返回-1。
EDIT2: 这是我的HTML http://jsfiddle.net/bv7SU/
答案 0 :(得分:5)
在进行搜索/查找时,编程模型非常标准,它返回索引以指示负数为-1的“未找到”(当然,因为索引将从零开始(0)) 。所以,你所看到的是成功通话的结果(从某种意义上说它起作用),但没有找到符合你标准的任何东西。
如果不是这种情况,您究竟会如何确定是否找到了某些东西?通常需要区分“这个工作!”,“这个工作,但是...... ”和“这个失败了! ”。
有时会有一个替代方案,例如一个只是如此命名和记录的方法,以使几乎与另一个相同,但不同之处在于“抛出异常'工作,但是'“,这通常也很有用。但是你通常需要在需要的时候注意后面的模式。
答案 1 :(得分:2)
我不知道这是否是您正在寻找的答案,但根据docs“index()”如果jQuery找不到您尝试的任何元素,则返回-1看。
编辑:我已经将你的jQuery代码作为onDomReady添加到你的小提琴中,我的索引为29.你如何运行你的jQuery代码?答案 2 :(得分:1)
当找不到与.index(selector)
传递的选择器匹配的对象时,它返回-1。
来自.index()
的jQuery文档:
如果选择器字符串作为参数传递,则.index()返回一个 整数,表示原始元素相对于的位置 选择器匹配的元素。 如果找不到该元素, .index()将返回-1。
答案 3 :(得分:0)
答案在documentation:
如果选择器字符串作为参数传递,则.index()返回一个 整数,表示原始元素相对于的位置 选择器匹配的元素。 如果找不到该元素, .index()将返回-1。