以下是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
答案 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”的单个对象