2017-06-19 27 views
0

在我的开发人员工具的错误出现说:
的script.js:5遗漏的类型错误:在的script.js无法读取的未定义的属性 'ATTR':5.attr不是在jQuery的varible工作

var $cell = $('td'); 
var psib = $cell.previousSibling; 
var nsib = $cell.nextSibling; 
$cell.addClass('o'); 
var $nsibclass = nsib.attr('class') //script.js:5 
+1

亲切地实施你在http://jsfiddle.net/上的例子,并分享链接 –

+1

尝试'$(nsib).attr('class')' – StaticBeagle

回答

0

$cell是一个jQuery对象,它可能包含一组元素。

所以,你应该这样做$cell.get(0).previousSibling;,这将给你在DOM中第一<td>元素的“前一个兄弟”。

因此,为了获得类的<td>下一个兄弟的,你可以这样做:

var nsibclass = $($cell.get(0)).next().attr('class');

欲了解更多信息有关$.next(),读到这里:https://api.jquery.com/next/

0

试试这个

//class of next sibling 
var $nextclass = $('td').next('td').attr('.class') //script.js:5 
//class of prev sibling 
var $precclass = $('td').prev('td').attr('.class') //script.js:5 
+0

请看我的评论。 'nsib'没有被定义,因此你的代码将(也)抛出一个错误。 – Catalyst