Javascript返回了未定义的对象属性

Javascript返回了未定义的对象属性,javascript,jquery,html,Javascript,Jquery,Html,以下是我使用的一些相关HTML元素: <TD id=Cell.0.0> <DIV></DIV> <IMG id=_Q0_C0_mrSingleImg src="radio.gif"> <INPUT type="checkbox" name=_QGender_C class=mrSingle id=_

以下是我使用的一些相关HTML元素:

                <TD id=Cell.0.0>
                   <DIV></DIV>
                   <IMG id=_Q0_C0_mrSingleImg src="radio.gif">
                   <INPUT type="checkbox" name=_QGender_C class=mrSingle id=_Q0_C0> 
                   <LABEL for=_Q0_C0>
                      <SPAN class=mrSingleText >
                        some text
                      </SPAN>
                   </LABEL>
                </TD>
如您所见,在上面的函数中,我调用“getNextSibling”来获取图像同级,即输入元素。
由于代码必须支持旧版本的IE,因此我在fix.js文件中添加了这个“getNextSibling”函数,这是在另一个堆栈溢出线程上推荐的:

// IE 8 and less do not support nextSibling or previousSibling javascript properties 
function getNextSibling(element) {
    var sibling = $('#' + element.id + '').next();
    return sibling;
}
我遇到的问题是,在调试代码时,我可以看到inputSibling变量确实包含“getNextSibling”返回的请求输入同级元素(id、checked、类名等都被赋值),但当我尝试使用返回对象的任何一个属性时,它们都是未定义的


有人知道为什么会这样吗

函数返回jQuery对象

function getNextSibling(element) {
    var sibling = $('#' + element.id + '').next();
    return sibling;
}
因此,您将能够使用attr()访问属性

或者,如果您想继续使用JS访问样式,您需要

inputSibling.get(0).id

您必须显示未定义值的零件。你展示的代码中没有任何东西可以解释它。你好,朱哈娜,谢谢你的回复。在getNextSibling函数中,属性已经未定义。可能是动态选择器出了问题。因为您已经有了对元素的引用,所以不必再次搜索它。只需使用
$(element).next()。您使用一个jQuery函数,该函数将返回一个jQuery对象。要从jQuery对象获取常规DOM对象,请使用
[0]
操作符。或者不用jquery也可以这样做。@Ikrabe,非常感谢!这就解决了我的问题非常感谢沃金,这正是我不知道的错误
inputSibling.attr('id')
inputSibling.get(0).id