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