我想让我的Jquery代码计算每个div中它的宽度。例如:当图像的宽度大于250时,我想让它旁边的文字清晰:两者都是在图像下方而不是在图像下方。这是我的HTML和Jquery的一个例子:
ws = new WebSocket("123.123.123.123", "test.com");
Gyazo screenshot 它现在的作用是,它只计算第一个div的宽度而不是第二个等。
答案 0 :(得分:0)
在您的each
功能内部,您再次获得对所有.title-txt-test
个对象的引用,而不是使用该功能正在操作的对象。尝试将$(".title-text-test")
功能中的each
选择器更改为this
,如下所示:
$(document).ready(function () {
$(".title-text-test").each(function () {
imageWidth = $(this).closest('.tile-image-test').width();
$(this).width(imageWidth);
if (imageWidth > 250) {
$(this).addClass('clr');
}
});
});
答案 1 :(得分:0)
您必须计算通过回调函数$(this)
$('.tile-image-test').each( function( index ) {
console.log( 'Width for image ' + index + ' is ' + $( this ).width() + 'px' );
});
答案 2 :(得分:0)
您正在为所有具有类clr
的元素设置课程title-text-test
,因为您获得了第一个元素的width()
(imageWidth = $(' .tile-image- test')。width();),你应该将params传递给.each()
回调函数,如下所示:
$(document).ready(function () {
$(".title-text-test").each(function (index, element) {
imageWidth = $(element).closest('.tile-image-test').width(); // select closest image
$(element).width(imageWidth);
if (imageWidth > 250) {
$(element).addClass('clr');
}
});
});
如需更详细的解答,请向我们提供您的HTML