jquery DOM函数返回undefined但javascript版本有效

时间:2013-03-01 16:28:28

标签: javascript jquery dom

以下是javascript中的当前函数:

var iframe = document.getElementsByTagName('iframe')[0];
var doc = iframe.contentWindow.document;
var originPrice = iframe.contentWindow.document.getElementsByClassName('price type2')[0].innerHTML; 

这是我仍在学习的jquery版本,哪些不起作用

var originPrice = $('iframe').contents().find('.price type2')[0].html();

firefox返回的错误是它的“Undefined”。这可能是什么错误?

感谢任何提示,我还在学习jquery

2 个答案:

答案 0 :(得分:1)

因为当您选择[0]时,您返回了一个DOM元素而不是一个jQuery对象。 DOM元素没有html()函数。

var originPrice = $('iframe').contents().find('.price.type2').eq(0).html();

答案 1 :(得分:1)

当你对jQuery对象执行[0]时,你会得到一个没有.html()方法的DOM对象,因为这是一个jQuery方法。

使用.eq(0).html()获取jQuery对象,或者如果你有DOM对象则使用[0].innerHTML

此外,将您的选择器更改为find('.price.type2')以查找具有两个类“price”和“type2”的单个对象