Javascript jQuery attr();用iframe?

Javascript jQuery attr();用iframe?,javascript,jquery,html,Javascript,Jquery,Html,我试图使用jQuery.attr属性来获取iframe或具有明确定义高度的img的高度 jQuery HTML 正如现在所写的,我将“未定义”作为一个值。有没有办法解决这个问题 JSFiddle here:您应该只向.find->selector'img,iframe'提供一个参数 这是错误的: .find('img','iframe') “查找”不接受任何额外参数。我想你的意思是: .find('img, iframe') 您总是可以给iframe一个id attr。我在您的JSFIDLE

我试图使用jQuery.attr属性来获取iframe或具有明确定义高度的img的高度

jQuery

HTML

正如现在所写的,我将“未定义”作为一个值。有没有办法解决这个问题


JSFiddle here:

您应该只向.find->selector'img,iframe'提供一个参数

这是错误的:

.find('img','iframe')
“查找”不接受任何额外参数。我想你的意思是:

.find('img, iframe')

您总是可以给iframe一个id attr。我在您的JSFIDLE上测试了它,结果是422。

为什么不为框架设置一个id,然后直接访问它呢

var scrollerHeight = $('#mframe').attr('height');

find方法使用选择器上下文,因此它将第二个参数视为备用上下文。备用上下文通常用于将选择器指向不同的DOM

将查找选择器更改为在第一个参数中使用多个元素将起作用

高度=$'.caroufredsel_wrapper>ul>li'。查找'img,iframe'。属性'Height'

我还建议使用第一个过滤器/方法,以确保只返回一个结果:

$'.caroufredsel_wrapper>ul>li'。查找'iframe,img'。首先。attr'height'

请参见我的测试要点:

这一个是错误的

    .find('img','iframe')
试试这个

   $(document).ready(function() {


  var scrollerHeight = $('.caroufredsel_wrapper > ul > li').find('iframe').attr('height');
  alert(scrollerHeight);

 });

它给了你什么值?试着用firebug检查一下,看看当前的属性是什么,有可能你改变了它们。在其他地方,img标签似乎可以正常工作,但iframe给了我“未定义的”@ElliotBonneville否。img和iframe之间的引号被删除了。哦,你是对的。变化很小,上下滚动时很难看到:@塔玛克:我正在取消我的否决票,但你应该说明下次你改变了什么,以避免混淆p这两个片段完全相同same@Starx:不,引号已更改:p@Starx不,它不是-只有一个字符串参数传递给$.find,而不是OP中的两个。@ElliotBonneville,不,我是指他的答案,我在他的第一版上,这会起作用,但我正在使用CMS,iframe会改变。你应该使用find'img,iframe',因为find只接受一个参数。find selector;
var scrollerHeight = $('#mframe').attr('height');
    .find('img','iframe')
   $(document).ready(function() {


  var scrollerHeight = $('.caroufredsel_wrapper > ul > li').find('iframe').attr('height');
  alert(scrollerHeight);

 });