Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryeach()不是';不行吗?_Javascript_Jquery_Html - Fatal编程技术网

Javascript jqueryeach()不是';不行吗?

Javascript jqueryeach()不是';不行吗?,javascript,jquery,html,Javascript,Jquery,Html,我正在运行一个jQuery函数,它应该根据视频的宽度修改视频的宽度 我的页面中有一堆视频,我想以某种方式使它们适应视频容器,它有一个固定的宽度。因此,在我检查视频宽度是否高于容器之前所讨论的函数中,应该将视频宽度更改为100%,而不是所有视频最初都具有的自动属性 下面是函数 $(document).ready(function () { $('video').each(function() { if ($(this).css('width')>$('.player-

我正在运行一个jQuery函数,它应该根据视频的宽度修改视频的宽度

我的页面中有一堆视频,我想以某种方式使它们适应视频容器,它有一个固定的宽度。因此,在我检查视频宽度是否高于容器之前所讨论的函数中,应该将视频宽度更改为100%,而不是所有视频最初都具有的自动属性

下面是函数

$(document).ready(function () {
    $('video').each(function() {
        if ($(this).css('width')>$('.player-container')[0].css('width'))
        {
            $(this).css('width', '100%');
        }
    }); 
});
每个视频的放置方式:

<div class="player-container">
   <video class="player-video" width="auto" height="auto">
        <source src="video/mana-labios-compartidos.mp4">
        <source src="video/mana-labios-compartidos.webm">
   </video>
   // more stuff about the video...
</div>

//更多关于视频的内容。。。

问题是,我在每个
中放置了一个警报。each()
我只看到一个警报,它实际上只在页面的第一个视频中弹出。

使用jQuery对象作为数组,并指定索引将实际返回DOM元素,因此jQuery函数不受支持。如果需要匹配集中的第一个元素,请使用

另外,请尝试改用该函数(因为它返回一个整数,而不是
.css('width')
返回的字符串)。这对于正在运行的比较尤其方便

您的最终代码是:

if ($(this).width() > $('.reproductor-container').width())

使用jQuery对象作为数组,并指定索引将实际返回DOM元素,因此不支持jQuery函数。如果希望匹配集中的第一个元素,请使用

另外,请尝试改用该函数(因为它返回一个整数,而不是
.css('width')
返回的字符串)。这对于正在运行的比较尤其方便

您的最终代码是:

if ($(this).width() > $('.reproductor-container').width())

使用jQuery对象作为数组,并指定索引将实际返回DOM元素,因此不支持jQuery函数。如果希望匹配集中的第一个元素,请使用

另外,请尝试改用该函数(因为它返回一个整数,而不是
.css('width')
返回的字符串)。这对于正在运行的比较尤其方便

您的最终代码是:

if ($(this).width() > $('.reproductor-container').width())

使用jQuery对象作为数组,并指定索引将实际返回DOM元素,因此不支持jQuery函数。如果希望匹配集中的第一个元素,请使用

另外,请尝试改用该函数(因为它返回一个整数,而不是
.css('width')
返回的字符串)。这对于正在运行的比较尤其方便

您的最终代码是:

if ($(this).width() > $('.reproductor-container').width())

我猜你的选择器错了

而不是使用

$('.player-container')[0].css('width')
尝试使用

$('.player-container').eq(0).css('width')
为了安全起见,.css('width')返回的是一个数字,而不是像“200px”这样的字符串


我猜你的选择器错了

而不是使用

$('.player-container')[0].css('width')
尝试使用

$('.player-container').eq(0).css('width')
为了安全起见,.css('width')返回的是一个数字,而不是像“200px”这样的字符串


我猜你的选择器错了

而不是使用

$('.player-container')[0].css('width')
尝试使用

$('.player-container').eq(0).css('width')
为了安全起见,.css('width')返回的是一个数字,而不是像“200px”这样的字符串


我猜你的选择器错了

而不是使用

$('.player-container')[0].css('width')
尝试使用

$('.player-container').eq(0).css('width')
为了安全起见,.css('width')返回的是一个数字,而不是像“200px”这样的字符串

获取一个元素,所以

$('.player-container')[0].css('width')
将出现键入错误。请重试

$('.player-container').css('width')
相反

获取一个元素,所以

$('.player-container')[0].css('width')
将出现键入错误。请重试

$('.player-container').css('width')
相反

获取一个元素,所以

$('.player-container')[0].css('width')
将出现键入错误。请重试

$('.player-container').css('width')
相反

获取一个元素,所以

$('.player-container')[0].css('width')
将出现键入错误。请重试

$('.player-container').css('width')
相反。

.css()
是一种应该在jQuery对象上使用的方法,但您正在jQuery对象内部的DOM元素上使用它。此外,它返回的字符串在您的情况下是无用的,因此您需要使用
.width()
相反,它返回一个整数。如果需要按索引将元素作为目标,请使用
.eq()

您完成的代码应该是这样的:

$(document).ready(function () {
    $('video').each(function() {
        if ($(this).width() > $('.player-container').eq(0).width()){
            $(this).css('width', '100%');
        }
    }); 
});
这可能不适合您,但我认为,通过将每个视频元素上的
max width
设置为
100%
,可以单独使用CSS实现相同的效果,如下所示:

.player-container video {
    max-width: 100%;
}
.css()
是一种应该在jQuery对象上使用的方法,但您正在jQuery对象内的DOM元素上使用它。此外,它返回的字符串在您的情况下将是无用的,因此您需要使用
.width()
,它返回一个整数。如果您需要通过索引将元素作为目标,请使用
.eq()

您完成的代码应该是这样的:

$(document).ready(function () {
    $('video').each(function() {
        if ($(this).width() > $('.player-container').eq(0).width()){
            $(this).css('width', '100%');
        }
    }); 
});
这可能不适合您,但我认为,通过将每个视频元素上的
max width
设置为
100%
,可以单独使用CSS实现相同的效果,如下所示:

.player-container video {
    max-width: 100%;
}
.css()
是一种应该在jQuery对象上使用的方法,但您正在jQuery对象内的DOM元素上使用它。此外,它返回的字符串在您的情况下将是无用的,因此您需要使用
.width()
,它返回一个整数。如果您需要通过索引将元素作为目标,请使用
.eq()

您完成的代码应该是这样的:

$(document).ready(function () {
    $('video').each(function() {
        if ($(this).width() > $('.player-container').eq(0).width()){
            $(this).css('width', '100%');
        }
    }); 
});
这可能不适合您,但我认为,通过将每个视频元素上的
max width
设置为
100%
,可以单独使用CSS实现相同的效果,如下所示:

.player-container video {
    max-width: 100%;
}
.css()
是一种应该在jQuery对象上使用的方法,但您正在jQuery对象内的DOM元素上使用它。此外,它返回的字符串在您的情况下将是无用的,因此您需要使用
.width()
,它返回一个整数。如果您需要通过索引将元素作为目标,请使用
.eq()

您完成的代码应该是这样的:

$(document).ready(function () {
    $('video').each(function() {
        if ($(this).width() > $('.player-container').eq(0).width()){
            $(this).css('width', '100%');
        }
    }); 
});
这可能不适合您,但我认为,通过将每个视频元素上的
max width
设置为