【发布时间】:2018-03-03 12:54:56
【问题描述】:
我收到一条错误消息
"Uncaught TypeError: Cannot set property 'cssText' of undefined"
我的代码:
var div = $('.postImg2')
var img = $('.postInner2');
var divAspect = 20 / 50;
var imgAspect = img.height / img.width;
if (postData.files != null) { // if attached images or videos exist
for (var i = 0; i < postData.files.length; i++) {
if(postData.files.length == 1){
postView = postView + "<div class='postImg1'><img class='postInner1' src='img_timeline/" + postData.files[i].url + "'></div>"
} else if(postData.files.length == 4){
if(imgAspect <= divAspect){
var imgWidthActual = div.offsetHeight / imgAspect;
var imgWidthToBe = div.offsetHeight / divAspect;
var marginLeft = -Math.round((imgWidthActual-imgWidthToBe)/2);
postView = postView + "<div class='postImg2'><img class='postInner2' src='img_timeline/" + postData.files[i].url + "'></div>"
img.style.cssText = 'margin-left:'+marginLeft+'px;'
} else {
img.style.cssText = 'margin-left:0;'
}
} else if (postData.files.length > 4){
postView = postView + "<div class='postImg3'><img class='postInner3' src='img_timeline/" + postData.files[i].url + "'></div>"
}
}
}
如何在 javascript 中使用cssText?
【问题讨论】:
-
您的帖子中缺少定义变量
img的位置。您的代码中是否也缺少它? -
@Jonathan 抱歉,我编辑了我的代码
-
因为
img是 jQuery,而不是 DOM 元素...... -
你为什么还要使用 cssText?设置值似乎是一种奇怪的方式。
-
等一下:您试图在将图像附加到文档 (
<img class='postInner2' ...) 之前获取图像 (var img = $('.postInner2');)?您仍然缺少一些代码,因为postView从未添加到文档中。您必须等到那时才能定义img。
标签: javascript jquery css styles